123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135613661376138613961406141614261436144614561466147614861496150615161526153615461556156615761586159616061616162616361646165616661676168616961706171617261736174617561766177617861796180618161826183618461856186618761886189619061916192619361946195619661976198619962006201620262036204620562066207620862096210621162126213621462156216621762186219622062216222622362246225622662276228622962306231623262336234623562366237623862396240624162426243624462456246624762486249625062516252625362546255625662576258625962606261626262636264626562666267626862696270627162726273627462756276627762786279628062816282628362846285628662876288628962906291629262936294629562966297629862996300630163026303630463056306630763086309631063116312631363146315631663176318631963206321632263236324632563266327632863296330633163326333633463356336633763386339634063416342634363446345634663476348634963506351635263536354635563566357635863596360636163626363636463656366636763686369637063716372637363746375637663776378637963806381638263836384638563866387638863896390639163926393639463956396639763986399640064016402640364046405640664076408640964106411641264136414641564166417641864196420642164226423642464256426642764286429643064316432643364346435643664376438643964406441644264436444644564466447644864496450645164526453645464556456645764586459646064616462646364646465646664676468646964706471647264736474647564766477647864796480648164826483648464856486648764886489649064916492649364946495649664976498649965006501650265036504650565066507650865096510651165126513651465156516651765186519652065216522652365246525652665276528652965306531653265336534653565366537653865396540654165426543654465456546654765486549655065516552655365546555655665576558655965606561656265636564656565666567656865696570657165726573657465756576657765786579658065816582658365846585658665876588658965906591659265936594659565966597659865996600660166026603660466056606660766086609661066116612661366146615661666176618661966206621662266236624662566266627662866296630663166326633663466356636663766386639664066416642664366446645664666476648664966506651665266536654665566566657665866596660666166626663666466656666666766686669667066716672667366746675667666776678667966806681668266836684668566866687668866896690669166926693669466956696669766986699670067016702670367046705670667076708670967106711671267136714671567166717671867196720672167226723672467256726672767286729673067316732673367346735673667376738673967406741674267436744674567466747674867496750675167526753675467556756675767586759676067616762676367646765676667676768676967706771677267736774677567766777677867796780678167826783678467856786678767886789679067916792679367946795679667976798679968006801680268036804680568066807680868096810681168126813681468156816681768186819682068216822682368246825682668276828682968306831683268336834683568366837683868396840684168426843684468456846684768486849685068516852685368546855685668576858685968606861686268636864686568666867686868696870687168726873687468756876687768786879688068816882688368846885688668876888688968906891689268936894689568966897689868996900690169026903690469056906690769086909691069116912691369146915691669176918691969206921692269236924692569266927692869296930693169326933693469356936693769386939694069416942694369446945694669476948694969506951695269536954695569566957695869596960696169626963696469656966696769686969697069716972697369746975697669776978697969806981698269836984698569866987698869896990699169926993699469956996699769986999700070017002700370047005700670077008700970107011701270137014701570167017701870197020702170227023702470257026702770287029703070317032703370347035703670377038703970407041704270437044704570467047704870497050705170527053705470557056705770587059706070617062706370647065706670677068706970707071707270737074707570767077707870797080708170827083708470857086708770887089709070917092709370947095709670977098709971007101710271037104710571067107710871097110711171127113711471157116711771187119712071217122712371247125712671277128712971307131713271337134713571367137713871397140714171427143714471457146714771487149715071517152715371547155715671577158715971607161716271637164716571667167716871697170717171727173717471757176717771787179718071817182718371847185718671877188718971907191719271937194719571967197719871997200720172027203720472057206720772087209721072117212721372147215721672177218721972207221722272237224722572267227722872297230723172327233723472357236723772387239724072417242724372447245724672477248724972507251725272537254725572567257725872597260726172627263726472657266726772687269727072717272727372747275727672777278727972807281728272837284728572867287728872897290729172927293729472957296729772987299730073017302730373047305730673077308730973107311731273137314731573167317731873197320732173227323732473257326732773287329733073317332733373347335733673377338733973407341734273437344734573467347734873497350735173527353735473557356735773587359736073617362736373647365736673677368736973707371737273737374737573767377737873797380738173827383738473857386738773887389739073917392739373947395739673977398739974007401740274037404740574067407740874097410741174127413741474157416741774187419742074217422742374247425742674277428742974307431743274337434743574367437743874397440744174427443744474457446744774487449745074517452745374547455745674577458745974607461746274637464746574667467746874697470747174727473747474757476747774787479748074817482748374847485748674877488748974907491749274937494749574967497749874997500750175027503750475057506750775087509751075117512751375147515751675177518751975207521752275237524752575267527752875297530753175327533753475357536753775387539754075417542754375447545754675477548754975507551755275537554755575567557755875597560756175627563756475657566756775687569757075717572757375747575757675777578757975807581758275837584758575867587758875897590759175927593759475957596759775987599760076017602760376047605760676077608760976107611761276137614761576167617761876197620762176227623762476257626762776287629763076317632763376347635763676377638763976407641764276437644764576467647764876497650765176527653765476557656765776587659766076617662766376647665766676677668766976707671767276737674767576767677767876797680768176827683768476857686768776887689769076917692769376947695769676977698769977007701770277037704770577067707770877097710771177127713771477157716771777187719772077217722772377247725772677277728772977307731773277337734773577367737773877397740774177427743774477457746774777487749775077517752775377547755775677577758775977607761776277637764776577667767776877697770777177727773777477757776777777787779778077817782778377847785778677877788778977907791779277937794779577967797779877997800780178027803780478057806780778087809781078117812781378147815781678177818781978207821782278237824782578267827782878297830783178327833783478357836783778387839784078417842784378447845784678477848784978507851785278537854785578567857785878597860786178627863786478657866786778687869787078717872787378747875787678777878787978807881788278837884788578867887788878897890789178927893789478957896789778987899790079017902790379047905790679077908790979107911791279137914791579167917791879197920792179227923792479257926792779287929793079317932793379347935793679377938793979407941794279437944794579467947794879497950795179527953795479557956795779587959796079617962796379647965796679677968796979707971797279737974797579767977797879797980798179827983798479857986798779887989799079917992799379947995799679977998799980008001800280038004800580068007800880098010801180128013801480158016801780188019802080218022802380248025802680278028802980308031803280338034803580368037803880398040804180428043804480458046804780488049805080518052805380548055805680578058805980608061806280638064806580668067806880698070807180728073807480758076807780788079808080818082808380848085808680878088808980908091809280938094809580968097809880998100810181028103810481058106810781088109811081118112811381148115811681178118811981208121812281238124812581268127812881298130813181328133813481358136813781388139814081418142814381448145814681478148814981508151815281538154815581568157815881598160816181628163816481658166816781688169817081718172817381748175817681778178817981808181818281838184818581868187818881898190819181928193819481958196819781988199820082018202820382048205820682078208820982108211821282138214821582168217821882198220822182228223822482258226822782288229823082318232823382348235823682378238823982408241824282438244824582468247824882498250825182528253825482558256825782588259826082618262826382648265826682678268826982708271827282738274827582768277827882798280828182828283828482858286828782888289829082918292829382948295829682978298829983008301830283038304830583068307830883098310831183128313831483158316831783188319832083218322832383248325832683278328832983308331833283338334833583368337833883398340834183428343834483458346834783488349835083518352835383548355835683578358835983608361836283638364836583668367836883698370837183728373837483758376837783788379838083818382838383848385838683878388838983908391839283938394839583968397839883998400840184028403840484058406840784088409841084118412841384148415841684178418841984208421842284238424842584268427842884298430843184328433843484358436843784388439844084418442844384448445844684478448844984508451845284538454845584568457845884598460846184628463846484658466846784688469847084718472847384748475847684778478847984808481848284838484848584868487848884898490849184928493849484958496849784988499850085018502850385048505850685078508850985108511851285138514851585168517851885198520852185228523852485258526852785288529853085318532853385348535853685378538853985408541854285438544854585468547854885498550855185528553855485558556855785588559856085618562856385648565856685678568856985708571857285738574857585768577857885798580858185828583858485858586858785888589859085918592859385948595859685978598859986008601860286038604860586068607860886098610861186128613861486158616861786188619862086218622862386248625862686278628862986308631863286338634863586368637863886398640864186428643864486458646864786488649865086518652865386548655865686578658865986608661866286638664866586668667866886698670867186728673867486758676867786788679868086818682868386848685868686878688868986908691869286938694869586968697869886998700870187028703870487058706870787088709871087118712871387148715871687178718871987208721872287238724872587268727872887298730873187328733873487358736873787388739874087418742874387448745874687478748874987508751875287538754875587568757875887598760876187628763876487658766876787688769877087718772877387748775877687778778877987808781878287838784878587868787878887898790879187928793879487958796879787988799880088018802880388048805880688078808880988108811881288138814881588168817881888198820882188228823882488258826882788288829883088318832883388348835883688378838883988408841884288438844884588468847884888498850885188528853885488558856885788588859886088618862886388648865886688678868886988708871887288738874887588768877887888798880888188828883888488858886888788888889889088918892889388948895889688978898889989008901890289038904890589068907890889098910891189128913891489158916891789188919892089218922892389248925892689278928892989308931893289338934893589368937893889398940894189428943894489458946894789488949895089518952895389548955895689578958895989608961896289638964896589668967896889698970897189728973897489758976897789788979898089818982898389848985898689878988898989908991899289938994899589968997899889999000900190029003900490059006900790089009901090119012901390149015901690179018901990209021902290239024902590269027902890299030903190329033903490359036903790389039904090419042904390449045904690479048904990509051905290539054905590569057905890599060906190629063906490659066906790689069907090719072907390749075907690779078907990809081908290839084908590869087908890899090909190929093909490959096909790989099910091019102910391049105910691079108910991109111911291139114911591169117911891199120912191229123912491259126912791289129913091319132913391349135913691379138913991409141914291439144914591469147914891499150915191529153915491559156915791589159916091619162916391649165916691679168916991709171917291739174917591769177917891799180918191829183918491859186918791889189919091919192919391949195919691979198919992009201920292039204920592069207920892099210921192129213921492159216921792189219922092219222922392249225922692279228922992309231923292339234923592369237923892399240924192429243924492459246924792489249925092519252925392549255925692579258925992609261926292639264926592669267926892699270927192729273927492759276927792789279928092819282928392849285928692879288928992909291929292939294929592969297929892999300930193029303930493059306930793089309931093119312931393149315931693179318931993209321932293239324932593269327932893299330933193329333933493359336933793389339934093419342934393449345934693479348934993509351935293539354935593569357935893599360936193629363936493659366936793689369937093719372937393749375937693779378937993809381938293839384938593869387938893899390939193929393939493959396939793989399940094019402940394049405940694079408940994109411941294139414941594169417941894199420942194229423942494259426942794289429943094319432943394349435943694379438943994409441944294439444944594469447944894499450945194529453945494559456945794589459946094619462946394649465946694679468946994709471947294739474947594769477947894799480948194829483948494859486948794889489949094919492949394949495949694979498949995009501950295039504950595069507950895099510951195129513951495159516951795189519952095219522952395249525952695279528952995309531953295339534953595369537953895399540954195429543954495459546954795489549955095519552955395549555955695579558955995609561956295639564956595669567956895699570957195729573957495759576957795789579958095819582958395849585958695879588958995909591959295939594959595969597959895999600960196029603960496059606960796089609961096119612961396149615961696179618961996209621962296239624962596269627962896299630963196329633963496359636963796389639964096419642964396449645964696479648964996509651965296539654965596569657965896599660966196629663966496659666966796689669967096719672967396749675967696779678967996809681968296839684968596869687968896899690969196929693969496959696969796989699970097019702970397049705970697079708970997109711971297139714971597169717971897199720972197229723972497259726972797289729973097319732973397349735973697379738973997409741974297439744974597469747974897499750975197529753975497559756975797589759976097619762976397649765976697679768976997709771977297739774977597769777977897799780978197829783978497859786978797889789979097919792979397949795979697979798979998009801980298039804980598069807980898099810981198129813981498159816981798189819982098219822982398249825982698279828982998309831983298339834983598369837983898399840984198429843984498459846984798489849985098519852985398549855985698579858985998609861986298639864986598669867986898699870987198729873987498759876987798789879988098819882988398849885988698879888988998909891989298939894989598969897989898999900990199029903990499059906990799089909991099119912991399149915991699179918991999209921992299239924992599269927992899299930993199329933993499359936993799389939994099419942994399449945994699479948994999509951995299539954995599569957995899599960996199629963996499659966996799689969997099719972997399749975997699779978997999809981998299839984998599869987998899899990999199929993999499959996999799989999100001000110002100031000410005100061000710008100091001010011100121001310014100151001610017100181001910020100211002210023100241002510026100271002810029100301003110032100331003410035100361003710038100391004010041100421004310044100451004610047100481004910050100511005210053100541005510056100571005810059100601006110062100631006410065100661006710068100691007010071100721007310074100751007610077100781007910080100811008210083100841008510086100871008810089100901009110092100931009410095100961009710098100991010010101101021010310104101051010610107101081010910110101111011210113101141011510116101171011810119101201012110122101231012410125101261012710128101291013010131101321013310134101351013610137101381013910140101411014210143101441014510146101471014810149101501015110152101531015410155101561015710158101591016010161101621016310164101651016610167101681016910170101711017210173101741017510176101771017810179101801018110182101831018410185101861018710188101891019010191101921019310194101951019610197101981019910200102011020210203102041020510206102071020810209102101021110212102131021410215102161021710218102191022010221102221022310224102251022610227102281022910230102311023210233102341023510236102371023810239102401024110242102431024410245102461024710248102491025010251102521025310254102551025610257102581025910260102611026210263102641026510266102671026810269102701027110272102731027410275102761027710278102791028010281102821028310284102851028610287102881028910290102911029210293102941029510296102971029810299103001030110302103031030410305103061030710308103091031010311103121031310314103151031610317103181031910320103211032210323103241032510326103271032810329103301033110332103331033410335103361033710338103391034010341103421034310344103451034610347103481034910350103511035210353103541035510356103571035810359103601036110362103631036410365103661036710368103691037010371103721037310374103751037610377103781037910380103811038210383103841038510386103871038810389103901039110392103931039410395103961039710398103991040010401104021040310404104051040610407104081040910410104111041210413104141041510416104171041810419104201042110422104231042410425104261042710428104291043010431104321043310434104351043610437104381043910440104411044210443104441044510446104471044810449104501045110452104531045410455104561045710458104591046010461104621046310464104651046610467104681046910470104711047210473104741047510476104771047810479104801048110482104831048410485104861048710488104891049010491104921049310494104951049610497104981049910500105011050210503105041050510506105071050810509105101051110512105131051410515105161051710518105191052010521105221052310524105251052610527105281052910530105311053210533105341053510536105371053810539105401054110542105431054410545105461054710548105491055010551105521055310554105551055610557105581055910560105611056210563105641056510566105671056810569105701057110572105731057410575105761057710578105791058010581105821058310584105851058610587105881058910590105911059210593105941059510596105971059810599106001060110602106031060410605106061060710608106091061010611106121061310614106151061610617106181061910620106211062210623106241062510626106271062810629106301063110632106331063410635106361063710638106391064010641106421064310644106451064610647106481064910650106511065210653106541065510656106571065810659106601066110662106631066410665106661066710668106691067010671106721067310674106751067610677106781067910680106811068210683106841068510686106871068810689106901069110692106931069410695106961069710698106991070010701107021070310704107051070610707107081070910710107111071210713107141071510716107171071810719107201072110722107231072410725107261072710728107291073010731107321073310734107351073610737107381073910740107411074210743107441074510746107471074810749107501075110752107531075410755107561075710758107591076010761107621076310764107651076610767107681076910770107711077210773107741077510776107771077810779107801078110782107831078410785107861078710788107891079010791107921079310794107951079610797107981079910800108011080210803108041080510806108071080810809108101081110812108131081410815108161081710818108191082010821108221082310824108251082610827108281082910830108311083210833108341083510836108371083810839108401084110842108431084410845108461084710848108491085010851108521085310854108551085610857108581085910860108611086210863108641086510866108671086810869108701087110872108731087410875108761087710878108791088010881108821088310884108851088610887108881088910890108911089210893108941089510896108971089810899109001090110902109031090410905109061090710908109091091010911109121091310914109151091610917109181091910920109211092210923109241092510926109271092810929109301093110932109331093410935109361093710938109391094010941109421094310944109451094610947109481094910950109511095210953109541095510956109571095810959109601096110962109631096410965109661096710968109691097010971109721097310974109751097610977109781097910980109811098210983109841098510986109871098810989109901099110992109931099410995109961099710998109991100011001110021100311004110051100611007110081100911010110111101211013110141101511016110171101811019110201102111022110231102411025110261102711028110291103011031110321103311034110351103611037110381103911040110411104211043110441104511046110471104811049110501105111052110531105411055110561105711058110591106011061110621106311064110651106611067110681106911070110711107211073110741107511076110771107811079110801108111082110831108411085110861108711088110891109011091110921109311094110951109611097110981109911100111011110211103111041110511106111071110811109111101111111112111131111411115111161111711118111191112011121111221112311124111251112611127111281112911130111311113211133111341113511136111371113811139111401114111142111431114411145111461114711148111491115011151111521115311154111551115611157111581115911160111611116211163111641116511166111671116811169111701117111172111731117411175111761117711178111791118011181111821118311184111851118611187111881118911190111911119211193111941119511196111971119811199112001120111202112031120411205112061120711208112091121011211112121121311214112151121611217112181121911220112211122211223112241122511226112271122811229112301123111232112331123411235112361123711238112391124011241112421124311244112451124611247112481124911250112511125211253112541125511256112571125811259112601126111262112631126411265112661126711268112691127011271112721127311274112751127611277112781127911280112811128211283112841128511286112871128811289112901129111292112931129411295112961129711298112991130011301113021130311304113051130611307113081130911310113111131211313113141131511316113171131811319113201132111322113231132411325113261132711328113291133011331113321133311334113351133611337113381133911340113411134211343113441134511346113471134811349113501135111352113531135411355113561135711358113591136011361113621136311364113651136611367113681136911370113711137211373113741137511376113771137811379113801138111382113831138411385113861138711388113891139011391113921139311394113951139611397113981139911400114011140211403114041140511406114071140811409114101141111412114131141411415114161141711418114191142011421114221142311424114251142611427114281142911430114311143211433114341143511436114371143811439114401144111442114431144411445114461144711448114491145011451114521145311454114551145611457114581145911460114611146211463114641146511466114671146811469114701147111472114731147411475114761147711478114791148011481114821148311484114851148611487114881148911490114911149211493114941149511496114971149811499115001150111502115031150411505115061150711508115091151011511115121151311514115151151611517115181151911520115211152211523115241152511526115271152811529115301153111532115331153411535115361153711538115391154011541115421154311544115451154611547115481154911550115511155211553115541155511556115571155811559115601156111562115631156411565115661156711568115691157011571115721157311574115751157611577115781157911580115811158211583115841158511586115871158811589115901159111592115931159411595115961159711598115991160011601116021160311604116051160611607116081160911610116111161211613116141161511616116171161811619116201162111622116231162411625116261162711628116291163011631116321163311634116351163611637116381163911640116411164211643116441164511646116471164811649116501165111652116531165411655116561165711658116591166011661116621166311664116651166611667116681166911670116711167211673116741167511676116771167811679116801168111682116831168411685116861168711688116891169011691116921169311694116951169611697116981169911700117011170211703117041170511706117071170811709117101171111712117131171411715117161171711718117191172011721117221172311724117251172611727117281172911730117311173211733117341173511736117371173811739117401174111742117431174411745117461174711748117491175011751117521175311754117551175611757117581175911760117611176211763117641176511766117671176811769117701177111772117731177411775117761177711778117791178011781117821178311784117851178611787117881178911790117911179211793117941179511796117971179811799118001180111802118031180411805118061180711808118091181011811118121181311814118151181611817118181181911820118211182211823118241182511826118271182811829118301183111832118331183411835118361183711838118391184011841118421184311844118451184611847118481184911850118511185211853118541185511856118571185811859118601186111862118631186411865118661186711868118691187011871118721187311874118751187611877118781187911880118811188211883118841188511886118871188811889118901189111892118931189411895118961189711898118991190011901119021190311904119051190611907119081190911910119111191211913119141191511916119171191811919119201192111922119231192411925119261192711928119291193011931119321193311934119351193611937119381193911940119411194211943119441194511946119471194811949119501195111952119531195411955119561195711958119591196011961119621196311964119651196611967119681196911970119711197211973119741197511976119771197811979119801198111982119831198411985119861198711988119891199011991119921199311994119951199611997119981199912000120011200212003120041200512006120071200812009120101201112012120131201412015120161201712018120191202012021120221202312024120251202612027120281202912030120311203212033120341203512036120371203812039120401204112042120431204412045120461204712048120491205012051120521205312054120551205612057120581205912060120611206212063120641206512066120671206812069120701207112072120731207412075120761207712078120791208012081120821208312084120851208612087120881208912090120911209212093120941209512096120971209812099121001210112102121031210412105121061210712108121091211012111121121211312114121151211612117121181211912120121211212212123121241212512126121271212812129121301213112132121331213412135121361213712138121391214012141121421214312144121451214612147121481214912150121511215212153121541215512156121571215812159121601216112162121631216412165121661216712168121691217012171121721217312174121751217612177121781217912180121811218212183121841218512186121871218812189121901219112192121931219412195121961219712198121991220012201122021220312204122051220612207122081220912210122111221212213122141221512216122171221812219122201222112222122231222412225122261222712228122291223012231122321223312234122351223612237122381223912240122411224212243122441224512246122471224812249122501225112252122531225412255122561225712258122591226012261122621226312264122651226612267122681226912270122711227212273122741227512276122771227812279122801228112282122831228412285122861228712288122891229012291122921229312294122951229612297122981229912300123011230212303123041230512306123071230812309123101231112312123131231412315123161231712318123191232012321123221232312324123251232612327123281232912330123311233212333123341233512336123371233812339123401234112342123431234412345123461234712348123491235012351123521235312354123551235612357123581235912360123611236212363123641236512366123671236812369123701237112372123731237412375123761237712378123791238012381123821238312384123851238612387123881238912390123911239212393123941239512396123971239812399124001240112402124031240412405124061240712408124091241012411124121241312414124151241612417124181241912420124211242212423124241242512426124271242812429124301243112432124331243412435124361243712438124391244012441124421244312444124451244612447124481244912450124511245212453124541245512456124571245812459124601246112462124631246412465124661246712468124691247012471124721247312474124751247612477124781247912480124811248212483124841248512486124871248812489124901249112492124931249412495124961249712498124991250012501125021250312504125051250612507125081250912510125111251212513125141251512516125171251812519125201252112522125231252412525125261252712528125291253012531125321253312534125351253612537125381253912540125411254212543125441254512546125471254812549125501255112552125531255412555125561255712558125591256012561125621256312564125651256612567125681256912570125711257212573125741257512576125771257812579125801258112582125831258412585125861258712588125891259012591125921259312594125951259612597125981259912600126011260212603126041260512606126071260812609126101261112612126131261412615126161261712618126191262012621126221262312624126251262612627126281262912630126311263212633126341263512636126371263812639126401264112642126431264412645126461264712648126491265012651126521265312654126551265612657126581265912660126611266212663126641266512666126671266812669126701267112672126731267412675126761267712678126791268012681126821268312684126851268612687126881268912690126911269212693126941269512696126971269812699127001270112702127031270412705127061270712708127091271012711127121271312714127151271612717127181271912720127211272212723127241272512726127271272812729127301273112732127331273412735127361273712738127391274012741127421274312744127451274612747127481274912750127511275212753127541275512756127571275812759127601276112762127631276412765127661276712768127691277012771127721277312774127751277612777127781277912780127811278212783127841278512786127871278812789127901279112792127931279412795127961279712798127991280012801128021280312804128051280612807128081280912810128111281212813128141281512816128171281812819128201282112822128231282412825128261282712828128291283012831128321283312834128351283612837128381283912840128411284212843128441284512846128471284812849128501285112852128531285412855128561285712858128591286012861128621286312864128651286612867128681286912870128711287212873128741287512876128771287812879128801288112882128831288412885128861288712888128891289012891128921289312894128951289612897128981289912900129011290212903129041290512906129071290812909129101291112912129131291412915129161291712918129191292012921129221292312924129251292612927129281292912930129311293212933129341293512936129371293812939129401294112942129431294412945129461294712948129491295012951129521295312954129551295612957129581295912960129611296212963129641296512966129671296812969129701297112972129731297412975129761297712978129791298012981129821298312984129851298612987129881298912990129911299212993129941299512996129971299812999130001300113002130031300413005130061300713008130091301013011130121301313014130151301613017130181301913020130211302213023130241302513026130271302813029130301303113032130331303413035130361303713038130391304013041130421304313044130451304613047130481304913050130511305213053130541305513056130571305813059130601306113062130631306413065130661306713068130691307013071130721307313074130751307613077130781307913080130811308213083130841308513086130871308813089130901309113092130931309413095130961309713098130991310013101131021310313104131051310613107131081310913110131111311213113131141311513116131171311813119131201312113122131231312413125131261312713128131291313013131131321313313134131351313613137131381313913140131411314213143131441314513146131471314813149131501315113152131531315413155131561315713158131591316013161131621316313164131651316613167131681316913170131711317213173131741317513176131771317813179131801318113182131831318413185131861318713188131891319013191131921319313194131951319613197131981319913200132011320213203132041320513206132071320813209132101321113212132131321413215132161321713218132191322013221132221322313224132251322613227132281322913230132311323213233132341323513236132371323813239132401324113242132431324413245132461324713248132491325013251132521325313254132551325613257132581325913260132611326213263132641326513266132671326813269132701327113272132731327413275132761327713278132791328013281132821328313284132851328613287132881328913290132911329213293132941329513296132971329813299133001330113302133031330413305133061330713308133091331013311133121331313314133151331613317133181331913320133211332213323133241332513326133271332813329133301333113332133331333413335133361333713338133391334013341133421334313344133451334613347133481334913350133511335213353133541335513356133571335813359133601336113362133631336413365133661336713368133691337013371133721337313374133751337613377133781337913380133811338213383133841338513386133871338813389133901339113392133931339413395133961339713398133991340013401134021340313404134051340613407134081340913410134111341213413134141341513416134171341813419134201342113422134231342413425134261342713428134291343013431134321343313434134351343613437134381343913440134411344213443134441344513446134471344813449134501345113452134531345413455134561345713458134591346013461134621346313464134651346613467134681346913470134711347213473134741347513476134771347813479134801348113482134831348413485134861348713488134891349013491134921349313494134951349613497134981349913500135011350213503135041350513506135071350813509135101351113512135131351413515135161351713518135191352013521135221352313524135251352613527135281352913530135311353213533135341353513536135371353813539135401354113542135431354413545135461354713548135491355013551135521355313554135551355613557135581355913560135611356213563135641356513566135671356813569135701357113572135731357413575135761357713578135791358013581135821358313584135851358613587135881358913590135911359213593135941359513596135971359813599136001360113602136031360413605136061360713608136091361013611136121361313614136151361613617136181361913620136211362213623136241362513626136271362813629136301363113632136331363413635136361363713638136391364013641136421364313644136451364613647136481364913650136511365213653136541365513656136571365813659136601366113662136631366413665136661366713668136691367013671136721367313674136751367613677136781367913680136811368213683136841368513686136871368813689136901369113692136931369413695136961369713698136991370013701137021370313704137051370613707137081370913710137111371213713137141371513716137171371813719137201372113722137231372413725137261372713728137291373013731137321373313734137351373613737137381373913740137411374213743137441374513746137471374813749137501375113752137531375413755137561375713758137591376013761137621376313764137651376613767137681376913770137711377213773137741377513776137771377813779137801378113782137831378413785137861378713788137891379013791137921379313794137951379613797137981379913800138011380213803138041380513806138071380813809138101381113812138131381413815138161381713818138191382013821138221382313824138251382613827138281382913830138311383213833138341383513836138371383813839138401384113842138431384413845138461384713848138491385013851138521385313854138551385613857138581385913860138611386213863138641386513866138671386813869138701387113872138731387413875138761387713878138791388013881138821388313884138851388613887138881388913890138911389213893138941389513896138971389813899139001390113902139031390413905139061390713908139091391013911139121391313914139151391613917139181391913920139211392213923139241392513926139271392813929139301393113932139331393413935139361393713938139391394013941139421394313944139451394613947139481394913950139511395213953139541395513956139571395813959139601396113962139631396413965139661396713968139691397013971139721397313974139751397613977139781397913980139811398213983139841398513986139871398813989139901399113992139931399413995139961399713998139991400014001140021400314004140051400614007140081400914010140111401214013140141401514016140171401814019140201402114022140231402414025140261402714028140291403014031140321403314034140351403614037140381403914040140411404214043140441404514046140471404814049140501405114052140531405414055140561405714058140591406014061140621406314064140651406614067140681406914070140711407214073140741407514076140771407814079140801408114082140831408414085140861408714088140891409014091140921409314094140951409614097140981409914100141011410214103141041410514106141071410814109141101411114112141131411414115141161411714118141191412014121141221412314124141251412614127141281412914130141311413214133141341413514136141371413814139141401414114142141431414414145141461414714148141491415014151141521415314154141551415614157141581415914160141611416214163141641416514166141671416814169141701417114172141731417414175141761417714178141791418014181141821418314184141851418614187141881418914190141911419214193141941419514196141971419814199142001420114202142031420414205142061420714208142091421014211142121421314214142151421614217142181421914220142211422214223142241422514226142271422814229142301423114232142331423414235142361423714238142391424014241142421424314244142451424614247142481424914250142511425214253142541425514256142571425814259142601426114262142631426414265142661426714268142691427014271142721427314274142751427614277142781427914280142811428214283142841428514286142871428814289142901429114292142931429414295142961429714298142991430014301143021430314304143051430614307143081430914310143111431214313143141431514316143171431814319143201432114322143231432414325143261432714328143291433014331143321433314334143351433614337143381433914340143411434214343143441434514346143471434814349143501435114352143531435414355143561435714358143591436014361143621436314364143651436614367143681436914370143711437214373143741437514376143771437814379143801438114382143831438414385143861438714388143891439014391143921439314394143951439614397143981439914400144011440214403144041440514406144071440814409144101441114412144131441414415144161441714418144191442014421144221442314424144251442614427144281442914430144311443214433144341443514436144371443814439144401444114442144431444414445144461444714448144491445014451144521445314454144551445614457144581445914460144611446214463144641446514466144671446814469144701447114472144731447414475144761447714478144791448014481144821448314484144851448614487144881448914490144911449214493144941449514496144971449814499145001450114502145031450414505145061450714508145091451014511145121451314514145151451614517145181451914520145211452214523145241452514526145271452814529145301453114532145331453414535145361453714538145391454014541145421454314544145451454614547145481454914550145511455214553145541455514556145571455814559145601456114562145631456414565145661456714568145691457014571145721457314574145751457614577145781457914580145811458214583145841458514586145871458814589145901459114592145931459414595145961459714598145991460014601146021460314604146051460614607146081460914610146111461214613146141461514616146171461814619146201462114622146231462414625146261462714628146291463014631146321463314634146351463614637146381463914640146411464214643146441464514646146471464814649146501465114652146531465414655146561465714658146591466014661146621466314664146651466614667146681466914670146711467214673146741467514676146771467814679146801468114682146831468414685146861468714688146891469014691146921469314694146951469614697146981469914700147011470214703147041470514706147071470814709147101471114712147131471414715147161471714718147191472014721147221472314724147251472614727147281472914730147311473214733147341473514736147371473814739147401474114742147431474414745147461474714748147491475014751147521475314754147551475614757147581475914760147611476214763147641476514766147671476814769147701477114772147731477414775147761477714778147791478014781147821478314784147851478614787147881478914790147911479214793147941479514796147971479814799148001480114802148031480414805148061480714808148091481014811148121481314814148151481614817148181481914820148211482214823148241482514826148271482814829148301483114832148331483414835148361483714838148391484014841148421484314844148451484614847148481484914850148511485214853148541485514856148571485814859148601486114862148631486414865148661486714868148691487014871148721487314874148751487614877148781487914880148811488214883148841488514886148871488814889148901489114892148931489414895148961489714898148991490014901149021490314904149051490614907149081490914910149111491214913149141491514916149171491814919149201492114922149231492414925149261492714928149291493014931149321493314934149351493614937149381493914940149411494214943149441494514946149471494814949149501495114952149531495414955149561495714958149591496014961149621496314964149651496614967149681496914970149711497214973149741497514976149771497814979149801498114982149831498414985149861498714988149891499014991149921499314994149951499614997149981499915000150011500215003150041500515006150071500815009150101501115012150131501415015150161501715018150191502015021150221502315024150251502615027150281502915030150311503215033150341503515036150371503815039150401504115042150431504415045150461504715048150491505015051150521505315054150551505615057150581505915060150611506215063150641506515066150671506815069150701507115072150731507415075150761507715078150791508015081150821508315084150851508615087150881508915090150911509215093150941509515096150971509815099151001510115102151031510415105151061510715108151091511015111151121511315114151151511615117151181511915120151211512215123151241512515126151271512815129151301513115132151331513415135151361513715138151391514015141151421514315144151451514615147151481514915150151511515215153151541515515156151571515815159151601516115162151631516415165151661516715168151691517015171151721517315174151751517615177151781517915180151811518215183151841518515186151871518815189151901519115192151931519415195151961519715198151991520015201152021520315204152051520615207152081520915210152111521215213152141521515216152171521815219152201522115222152231522415225152261522715228152291523015231152321523315234152351523615237152381523915240152411524215243152441524515246152471524815249152501525115252152531525415255152561525715258152591526015261152621526315264152651526615267152681526915270152711527215273152741527515276152771527815279152801528115282152831528415285152861528715288152891529015291152921529315294152951529615297152981529915300153011530215303153041530515306153071530815309153101531115312153131531415315153161531715318153191532015321153221532315324153251532615327153281532915330153311533215333153341533515336153371533815339153401534115342153431534415345153461534715348153491535015351153521535315354153551535615357153581535915360153611536215363153641536515366153671536815369153701537115372153731537415375153761537715378153791538015381153821538315384153851538615387153881538915390153911539215393153941539515396153971539815399154001540115402154031540415405154061540715408154091541015411154121541315414154151541615417154181541915420154211542215423154241542515426154271542815429154301543115432154331543415435154361543715438154391544015441154421544315444154451544615447154481544915450154511545215453154541545515456154571545815459154601546115462154631546415465154661546715468154691547015471154721547315474154751547615477154781547915480154811548215483154841548515486154871548815489154901549115492154931549415495154961549715498154991550015501155021550315504155051550615507155081550915510155111551215513155141551515516155171551815519155201552115522155231552415525155261552715528155291553015531155321553315534155351553615537155381553915540155411554215543155441554515546155471554815549155501555115552155531555415555155561555715558155591556015561155621556315564155651556615567155681556915570155711557215573155741557515576155771557815579155801558115582155831558415585155861558715588155891559015591155921559315594155951559615597155981559915600156011560215603156041560515606156071560815609156101561115612156131561415615156161561715618156191562015621156221562315624156251562615627156281562915630156311563215633156341563515636156371563815639156401564115642156431564415645156461564715648156491565015651156521565315654156551565615657156581565915660156611566215663156641566515666156671566815669156701567115672156731567415675156761567715678156791568015681156821568315684156851568615687156881568915690156911569215693156941569515696156971569815699157001570115702157031570415705157061570715708157091571015711157121571315714157151571615717157181571915720157211572215723157241572515726157271572815729157301573115732157331573415735157361573715738157391574015741157421574315744157451574615747157481574915750157511575215753157541575515756157571575815759157601576115762157631576415765157661576715768157691577015771157721577315774157751577615777157781577915780157811578215783157841578515786157871578815789157901579115792157931579415795157961579715798157991580015801158021580315804158051580615807158081580915810158111581215813158141581515816158171581815819158201582115822158231582415825158261582715828158291583015831158321583315834158351583615837158381583915840158411584215843158441584515846158471584815849158501585115852158531585415855158561585715858158591586015861158621586315864158651586615867158681586915870158711587215873158741587515876158771587815879158801588115882158831588415885158861588715888158891589015891158921589315894158951589615897158981589915900159011590215903159041590515906159071590815909159101591115912159131591415915159161591715918159191592015921159221592315924159251592615927159281592915930159311593215933159341593515936159371593815939159401594115942159431594415945159461594715948159491595015951159521595315954159551595615957159581595915960159611596215963159641596515966159671596815969159701597115972159731597415975159761597715978159791598015981159821598315984159851598615987159881598915990159911599215993159941599515996159971599815999160001600116002160031600416005160061600716008160091601016011160121601316014160151601616017160181601916020160211602216023160241602516026160271602816029160301603116032160331603416035160361603716038160391604016041160421604316044160451604616047160481604916050160511605216053160541605516056160571605816059160601606116062160631606416065160661606716068160691607016071160721607316074160751607616077160781607916080160811608216083160841608516086160871608816089160901609116092160931609416095160961609716098160991610016101161021610316104161051610616107161081610916110161111611216113161141611516116161171611816119161201612116122161231612416125161261612716128161291613016131161321613316134161351613616137161381613916140161411614216143161441614516146161471614816149161501615116152161531615416155161561615716158161591616016161161621616316164161651616616167161681616916170161711617216173161741617516176161771617816179161801618116182161831618416185161861618716188161891619016191161921619316194161951619616197161981619916200162011620216203162041620516206162071620816209162101621116212162131621416215162161621716218162191622016221162221622316224162251622616227162281622916230162311623216233162341623516236162371623816239162401624116242162431624416245162461624716248162491625016251162521625316254162551625616257162581625916260162611626216263162641626516266162671626816269162701627116272162731627416275162761627716278162791628016281162821628316284162851628616287162881628916290162911629216293162941629516296162971629816299163001630116302163031630416305163061630716308163091631016311163121631316314163151631616317163181631916320163211632216323163241632516326163271632816329163301633116332163331633416335163361633716338163391634016341163421634316344163451634616347163481634916350163511635216353163541635516356163571635816359163601636116362163631636416365163661636716368163691637016371163721637316374163751637616377163781637916380163811638216383163841638516386163871638816389163901639116392163931639416395163961639716398163991640016401164021640316404164051640616407164081640916410164111641216413164141641516416164171641816419164201642116422164231642416425164261642716428164291643016431164321643316434164351643616437164381643916440164411644216443164441644516446164471644816449164501645116452164531645416455164561645716458164591646016461164621646316464164651646616467164681646916470164711647216473164741647516476164771647816479164801648116482164831648416485164861648716488164891649016491164921649316494164951649616497164981649916500165011650216503165041650516506165071650816509165101651116512165131651416515165161651716518165191652016521165221652316524165251652616527165281652916530165311653216533165341653516536165371653816539165401654116542165431654416545165461654716548165491655016551165521655316554165551655616557165581655916560165611656216563165641656516566165671656816569165701657116572165731657416575165761657716578165791658016581165821658316584165851658616587165881658916590165911659216593165941659516596165971659816599166001660116602166031660416605166061660716608166091661016611166121661316614166151661616617166181661916620166211662216623166241662516626166271662816629166301663116632166331663416635166361663716638166391664016641166421664316644166451664616647166481664916650166511665216653166541665516656166571665816659166601666116662166631666416665166661666716668166691667016671166721667316674166751667616677166781667916680166811668216683166841668516686166871668816689166901669116692166931669416695166961669716698166991670016701167021670316704167051670616707167081670916710167111671216713167141671516716167171671816719167201672116722167231672416725167261672716728167291673016731167321673316734167351673616737167381673916740167411674216743167441674516746167471674816749167501675116752167531675416755167561675716758167591676016761167621676316764167651676616767167681676916770167711677216773167741677516776167771677816779167801678116782167831678416785167861678716788167891679016791167921679316794167951679616797167981679916800168011680216803168041680516806168071680816809168101681116812168131681416815168161681716818168191682016821168221682316824168251682616827168281682916830168311683216833168341683516836168371683816839168401684116842168431684416845168461684716848168491685016851168521685316854168551685616857168581685916860168611686216863168641686516866168671686816869168701687116872168731687416875168761687716878168791688016881168821688316884168851688616887168881688916890168911689216893168941689516896168971689816899169001690116902169031690416905169061690716908169091691016911169121691316914169151691616917169181691916920169211692216923169241692516926169271692816929169301693116932169331693416935169361693716938169391694016941169421694316944169451694616947169481694916950169511695216953169541695516956169571695816959169601696116962169631696416965169661696716968169691697016971169721697316974169751697616977169781697916980169811698216983169841698516986169871698816989169901699116992169931699416995169961699716998169991700017001170021700317004170051700617007170081700917010170111701217013170141701517016170171701817019170201702117022170231702417025170261702717028170291703017031170321703317034170351703617037170381703917040170411704217043170441704517046170471704817049170501705117052170531705417055170561705717058170591706017061170621706317064170651706617067170681706917070170711707217073170741707517076170771707817079170801708117082170831708417085170861708717088170891709017091170921709317094170951709617097170981709917100171011710217103171041710517106171071710817109171101711117112171131711417115171161711717118171191712017121171221712317124171251712617127171281712917130171311713217133171341713517136171371713817139171401714117142171431714417145171461714717148171491715017151171521715317154171551715617157171581715917160171611716217163171641716517166171671716817169171701717117172171731717417175171761717717178171791718017181171821718317184171851718617187171881718917190171911719217193171941719517196171971719817199172001720117202172031720417205172061720717208172091721017211172121721317214172151721617217172181721917220172211722217223172241722517226172271722817229172301723117232172331723417235172361723717238172391724017241172421724317244172451724617247172481724917250172511725217253172541725517256172571725817259172601726117262172631726417265172661726717268172691727017271172721727317274172751727617277172781727917280172811728217283172841728517286172871728817289172901729117292172931729417295172961729717298172991730017301173021730317304173051730617307173081730917310173111731217313173141731517316173171731817319173201732117322173231732417325173261732717328173291733017331173321733317334173351733617337173381733917340173411734217343173441734517346173471734817349173501735117352173531735417355173561735717358173591736017361173621736317364173651736617367173681736917370173711737217373173741737517376173771737817379173801738117382173831738417385173861738717388173891739017391173921739317394173951739617397173981739917400174011740217403174041740517406174071740817409174101741117412174131741417415174161741717418174191742017421174221742317424174251742617427174281742917430174311743217433174341743517436174371743817439174401744117442174431744417445174461744717448174491745017451174521745317454174551745617457174581745917460174611746217463174641746517466174671746817469174701747117472174731747417475174761747717478174791748017481174821748317484174851748617487174881748917490174911749217493174941749517496174971749817499175001750117502175031750417505175061750717508175091751017511175121751317514175151751617517175181751917520175211752217523175241752517526175271752817529175301753117532175331753417535175361753717538175391754017541175421754317544175451754617547175481754917550175511755217553175541755517556175571755817559175601756117562175631756417565175661756717568175691757017571175721757317574175751757617577175781757917580175811758217583175841758517586175871758817589175901759117592175931759417595175961759717598175991760017601176021760317604176051760617607176081760917610176111761217613176141761517616176171761817619176201762117622176231762417625176261762717628176291763017631176321763317634176351763617637176381763917640176411764217643176441764517646176471764817649176501765117652176531765417655176561765717658176591766017661176621766317664176651766617667176681766917670176711767217673176741767517676176771767817679176801768117682176831768417685176861768717688176891769017691176921769317694176951769617697176981769917700177011770217703177041770517706177071770817709177101771117712177131771417715177161771717718177191772017721177221772317724177251772617727177281772917730177311773217733177341773517736177371773817739177401774117742177431774417745177461774717748177491775017751177521775317754177551775617757177581775917760177611776217763177641776517766177671776817769177701777117772177731777417775177761777717778177791778017781177821778317784177851778617787177881778917790177911779217793177941779517796177971779817799178001780117802178031780417805178061780717808178091781017811178121781317814178151781617817178181781917820178211782217823178241782517826178271782817829178301783117832178331783417835178361783717838178391784017841178421784317844178451784617847178481784917850178511785217853178541785517856178571785817859178601786117862178631786417865178661786717868178691787017871178721787317874178751787617877178781787917880178811788217883178841788517886178871788817889178901789117892178931789417895178961789717898178991790017901179021790317904179051790617907179081790917910179111791217913179141791517916179171791817919179201792117922179231792417925179261792717928179291793017931179321793317934179351793617937179381793917940179411794217943179441794517946179471794817949179501795117952179531795417955179561795717958179591796017961179621796317964179651796617967179681796917970179711797217973179741797517976179771797817979179801798117982179831798417985179861798717988179891799017991179921799317994179951799617997179981799918000180011800218003180041800518006180071800818009180101801118012180131801418015180161801718018180191802018021180221802318024180251802618027180281802918030180311803218033180341803518036180371803818039180401804118042180431804418045180461804718048180491805018051180521805318054180551805618057180581805918060180611806218063180641806518066180671806818069180701807118072180731807418075180761807718078180791808018081180821808318084180851808618087180881808918090180911809218093180941809518096180971809818099181001810118102181031810418105181061810718108181091811018111181121811318114181151811618117181181811918120181211812218123181241812518126181271812818129181301813118132181331813418135181361813718138181391814018141181421814318144181451814618147181481814918150181511815218153181541815518156181571815818159181601816118162181631816418165181661816718168181691817018171181721817318174181751817618177181781817918180181811818218183181841818518186181871818818189181901819118192181931819418195181961819718198181991820018201182021820318204182051820618207182081820918210182111821218213182141821518216182171821818219182201822118222182231822418225182261822718228182291823018231182321823318234182351823618237182381823918240182411824218243182441824518246182471824818249182501825118252182531825418255182561825718258182591826018261182621826318264182651826618267182681826918270182711827218273182741827518276182771827818279182801828118282182831828418285182861828718288182891829018291182921829318294182951829618297182981829918300183011830218303183041830518306183071830818309183101831118312183131831418315183161831718318183191832018321183221832318324183251832618327183281832918330183311833218333183341833518336183371833818339183401834118342183431834418345183461834718348183491835018351183521835318354183551835618357183581835918360183611836218363183641836518366183671836818369183701837118372183731837418375183761837718378183791838018381183821838318384183851838618387183881838918390183911839218393183941839518396183971839818399184001840118402184031840418405184061840718408184091841018411184121841318414184151841618417184181841918420184211842218423184241842518426184271842818429184301843118432184331843418435184361843718438184391844018441184421844318444184451844618447184481844918450184511845218453184541845518456184571845818459184601846118462184631846418465184661846718468184691847018471184721847318474184751847618477184781847918480184811848218483184841848518486184871848818489184901849118492184931849418495184961849718498184991850018501185021850318504185051850618507185081850918510185111851218513185141851518516185171851818519185201852118522185231852418525185261852718528185291853018531185321853318534185351853618537185381853918540185411854218543185441854518546185471854818549185501855118552185531855418555185561855718558185591856018561185621856318564185651856618567185681856918570185711857218573185741857518576185771857818579185801858118582185831858418585185861858718588185891859018591185921859318594185951859618597185981859918600186011860218603186041860518606186071860818609186101861118612186131861418615186161861718618186191862018621186221862318624186251862618627186281862918630186311863218633186341863518636186371863818639186401864118642186431864418645186461864718648186491865018651186521865318654186551865618657186581865918660186611866218663186641866518666186671866818669186701867118672186731867418675186761867718678186791868018681186821868318684186851868618687186881868918690186911869218693186941869518696186971869818699187001870118702187031870418705187061870718708187091871018711187121871318714187151871618717187181871918720187211872218723187241872518726187271872818729187301873118732187331873418735187361873718738187391874018741187421874318744187451874618747187481874918750187511875218753187541875518756187571875818759187601876118762187631876418765187661876718768187691877018771187721877318774187751877618777187781877918780187811878218783187841878518786187871878818789187901879118792187931879418795187961879718798187991880018801188021880318804188051880618807188081880918810188111881218813188141881518816188171881818819188201882118822188231882418825188261882718828188291883018831188321883318834188351883618837188381883918840188411884218843188441884518846188471884818849188501885118852188531885418855188561885718858188591886018861188621886318864188651886618867188681886918870188711887218873188741887518876188771887818879188801888118882188831888418885188861888718888188891889018891188921889318894188951889618897188981889918900189011890218903189041890518906189071890818909189101891118912189131891418915189161891718918189191892018921189221892318924189251892618927189281892918930189311893218933189341893518936189371893818939189401894118942189431894418945189461894718948189491895018951189521895318954189551895618957189581895918960189611896218963189641896518966189671896818969189701897118972189731897418975189761897718978189791898018981189821898318984189851898618987189881898918990189911899218993189941899518996189971899818999190001900119002190031900419005190061900719008190091901019011190121901319014190151901619017190181901919020190211902219023190241902519026190271902819029190301903119032190331903419035190361903719038190391904019041190421904319044190451904619047190481904919050190511905219053190541905519056190571905819059190601906119062190631906419065190661906719068190691907019071190721907319074190751907619077190781907919080190811908219083190841908519086190871908819089190901909119092190931909419095190961909719098190991910019101191021910319104191051910619107191081910919110191111911219113191141911519116191171911819119191201912119122191231912419125191261912719128191291913019131191321913319134191351913619137191381913919140191411914219143191441914519146191471914819149191501915119152191531915419155191561915719158191591916019161191621916319164191651916619167191681916919170191711917219173191741917519176191771917819179191801918119182191831918419185191861918719188191891919019191191921919319194191951919619197191981919919200192011920219203192041920519206192071920819209192101921119212192131921419215192161921719218192191922019221192221922319224192251922619227192281922919230192311923219233192341923519236192371923819239192401924119242192431924419245192461924719248192491925019251192521925319254192551925619257192581925919260192611926219263192641926519266192671926819269192701927119272192731927419275192761927719278192791928019281192821928319284192851928619287192881928919290192911929219293192941929519296192971929819299193001930119302193031930419305193061930719308193091931019311193121931319314193151931619317193181931919320193211932219323193241932519326193271932819329193301933119332193331933419335193361933719338193391934019341193421934319344193451934619347193481934919350193511935219353193541935519356193571935819359193601936119362193631936419365193661936719368193691937019371193721937319374193751937619377193781937919380193811938219383193841938519386193871938819389193901939119392193931939419395193961939719398193991940019401194021940319404194051940619407194081940919410194111941219413194141941519416194171941819419194201942119422194231942419425194261942719428194291943019431194321943319434194351943619437194381943919440194411944219443194441944519446194471944819449194501945119452194531945419455194561945719458194591946019461194621946319464194651946619467194681946919470194711947219473194741947519476194771947819479194801948119482194831948419485194861948719488194891949019491194921949319494194951949619497194981949919500195011950219503195041950519506195071950819509195101951119512195131951419515195161951719518195191952019521195221952319524195251952619527195281952919530195311953219533195341953519536195371953819539195401954119542195431954419545195461954719548195491955019551195521955319554195551955619557195581955919560195611956219563195641956519566195671956819569195701957119572195731957419575195761957719578195791958019581195821958319584195851958619587195881958919590195911959219593195941959519596195971959819599196001960119602196031960419605196061960719608196091961019611196121961319614196151961619617196181961919620196211962219623196241962519626196271962819629196301963119632196331963419635196361963719638196391964019641196421964319644196451964619647196481964919650196511965219653196541965519656196571965819659196601966119662196631966419665196661966719668196691967019671196721967319674196751967619677196781967919680196811968219683196841968519686196871968819689196901969119692196931969419695196961969719698196991970019701197021970319704197051970619707197081970919710197111971219713197141971519716197171971819719197201972119722197231972419725197261972719728197291973019731197321973319734197351973619737197381973919740197411974219743197441974519746197471974819749197501975119752197531975419755197561975719758197591976019761197621976319764197651976619767197681976919770197711977219773197741977519776197771977819779197801978119782197831978419785197861978719788197891979019791197921979319794197951979619797197981979919800198011980219803198041980519806198071980819809198101981119812198131981419815198161981719818198191982019821198221982319824198251982619827198281982919830198311983219833198341983519836198371983819839198401984119842198431984419845198461984719848198491985019851198521985319854198551985619857198581985919860198611986219863198641986519866198671986819869198701987119872198731987419875198761987719878198791988019881198821988319884198851988619887198881988919890198911989219893198941989519896198971989819899199001990119902199031990419905199061990719908199091991019911199121991319914199151991619917199181991919920199211992219923199241992519926199271992819929199301993119932199331993419935199361993719938199391994019941199421994319944199451994619947199481994919950199511995219953199541995519956199571995819959199601996119962199631996419965199661996719968199691997019971199721997319974199751997619977199781997919980199811998219983199841998519986199871998819989199901999119992199931999419995199961999719998199992000020001200022000320004200052000620007200082000920010200112001220013200142001520016200172001820019200202002120022200232002420025200262002720028200292003020031200322003320034200352003620037200382003920040200412004220043200442004520046200472004820049200502005120052200532005420055200562005720058200592006020061200622006320064200652006620067200682006920070200712007220073200742007520076200772007820079200802008120082200832008420085200862008720088200892009020091200922009320094200952009620097200982009920100201012010220103201042010520106201072010820109201102011120112201132011420115201162011720118201192012020121201222012320124201252012620127201282012920130201312013220133201342013520136201372013820139201402014120142201432014420145201462014720148201492015020151201522015320154201552015620157201582015920160201612016220163201642016520166201672016820169201702017120172201732017420175201762017720178201792018020181201822018320184201852018620187201882018920190201912019220193201942019520196201972019820199202002020120202202032020420205202062020720208202092021020211202122021320214202152021620217202182021920220202212022220223202242022520226202272022820229202302023120232202332023420235202362023720238202392024020241202422024320244202452024620247202482024920250202512025220253202542025520256202572025820259202602026120262202632026420265202662026720268202692027020271202722027320274202752027620277202782027920280202812028220283202842028520286202872028820289202902029120292202932029420295202962029720298202992030020301203022030320304203052030620307203082030920310203112031220313203142031520316203172031820319203202032120322203232032420325203262032720328203292033020331203322033320334203352033620337203382033920340203412034220343203442034520346203472034820349203502035120352203532035420355203562035720358203592036020361203622036320364203652036620367203682036920370203712037220373203742037520376203772037820379203802038120382203832038420385203862038720388203892039020391203922039320394203952039620397203982039920400204012040220403204042040520406204072040820409204102041120412204132041420415204162041720418204192042020421204222042320424204252042620427204282042920430204312043220433204342043520436204372043820439204402044120442204432044420445204462044720448204492045020451204522045320454204552045620457204582045920460204612046220463204642046520466204672046820469204702047120472204732047420475204762047720478204792048020481204822048320484204852048620487204882048920490204912049220493204942049520496204972049820499205002050120502205032050420505205062050720508205092051020511205122051320514205152051620517205182051920520205212052220523205242052520526205272052820529205302053120532205332053420535205362053720538205392054020541205422054320544205452054620547205482054920550205512055220553205542055520556205572055820559205602056120562205632056420565205662056720568205692057020571205722057320574205752057620577205782057920580205812058220583205842058520586205872058820589205902059120592205932059420595205962059720598205992060020601206022060320604206052060620607206082060920610206112061220613206142061520616206172061820619206202062120622206232062420625206262062720628206292063020631206322063320634206352063620637206382063920640206412064220643206442064520646206472064820649206502065120652206532065420655206562065720658206592066020661206622066320664206652066620667206682066920670206712067220673206742067520676206772067820679206802068120682206832068420685206862068720688206892069020691206922069320694206952069620697206982069920700207012070220703207042070520706207072070820709207102071120712207132071420715207162071720718207192072020721207222072320724207252072620727207282072920730207312073220733207342073520736207372073820739207402074120742207432074420745207462074720748207492075020751207522075320754207552075620757207582075920760207612076220763207642076520766207672076820769207702077120772207732077420775207762077720778207792078020781207822078320784207852078620787207882078920790207912079220793207942079520796207972079820799208002080120802208032080420805208062080720808208092081020811208122081320814208152081620817208182081920820208212082220823208242082520826208272082820829208302083120832208332083420835208362083720838208392084020841208422084320844208452084620847208482084920850208512085220853208542085520856208572085820859208602086120862208632086420865208662086720868208692087020871208722087320874208752087620877208782087920880208812088220883208842088520886208872088820889208902089120892208932089420895208962089720898208992090020901209022090320904209052090620907209082090920910209112091220913209142091520916209172091820919209202092120922209232092420925209262092720928209292093020931209322093320934209352093620937209382093920940209412094220943209442094520946209472094820949209502095120952209532095420955209562095720958209592096020961209622096320964209652096620967209682096920970209712097220973209742097520976209772097820979209802098120982209832098420985209862098720988209892099020991209922099320994209952099620997209982099921000210012100221003210042100521006210072100821009210102101121012210132101421015210162101721018210192102021021210222102321024210252102621027210282102921030210312103221033210342103521036210372103821039210402104121042210432104421045210462104721048210492105021051210522105321054210552105621057210582105921060210612106221063210642106521066210672106821069210702107121072210732107421075210762107721078210792108021081210822108321084210852108621087210882108921090210912109221093210942109521096210972109821099211002110121102211032110421105211062110721108211092111021111211122111321114211152111621117211182111921120211212112221123211242112521126211272112821129211302113121132211332113421135211362113721138211392114021141211422114321144211452114621147211482114921150211512115221153211542115521156211572115821159211602116121162211632116421165211662116721168211692117021171211722117321174211752117621177211782117921180211812118221183211842118521186211872118821189211902119121192211932119421195211962119721198211992120021201212022120321204212052120621207212082120921210212112121221213212142121521216212172121821219212202122121222212232122421225212262122721228212292123021231212322123321234212352123621237212382123921240212412124221243212442124521246212472124821249212502125121252212532125421255212562125721258212592126021261212622126321264212652126621267212682126921270212712127221273212742127521276212772127821279212802128121282212832128421285212862128721288212892129021291212922129321294212952129621297212982129921300213012130221303213042130521306213072130821309213102131121312213132131421315213162131721318213192132021321213222132321324213252132621327213282132921330213312133221333213342133521336213372133821339213402134121342213432134421345213462134721348213492135021351213522135321354213552135621357213582135921360213612136221363213642136521366213672136821369213702137121372213732137421375213762137721378213792138021381213822138321384213852138621387213882138921390213912139221393213942139521396213972139821399214002140121402214032140421405214062140721408214092141021411214122141321414214152141621417214182141921420214212142221423214242142521426214272142821429214302143121432214332143421435214362143721438214392144021441214422144321444214452144621447214482144921450214512145221453214542145521456214572145821459214602146121462214632146421465214662146721468214692147021471214722147321474214752147621477214782147921480214812148221483214842148521486214872148821489214902149121492214932149421495214962149721498214992150021501215022150321504215052150621507215082150921510215112151221513215142151521516215172151821519215202152121522215232152421525215262152721528215292153021531215322153321534215352153621537215382153921540215412154221543215442154521546215472154821549215502155121552215532155421555215562155721558215592156021561215622156321564215652156621567215682156921570215712157221573215742157521576215772157821579215802158121582215832158421585215862158721588215892159021591215922159321594215952159621597215982159921600216012160221603216042160521606216072160821609216102161121612216132161421615216162161721618216192162021621216222162321624216252162621627216282162921630216312163221633216342163521636216372163821639216402164121642216432164421645216462164721648216492165021651216522165321654216552165621657216582165921660216612166221663216642166521666216672166821669216702167121672216732167421675216762167721678216792168021681216822168321684216852168621687216882168921690216912169221693216942169521696216972169821699217002170121702217032170421705217062170721708217092171021711217122171321714217152171621717217182171921720217212172221723217242172521726217272172821729217302173121732217332173421735217362173721738217392174021741217422174321744217452174621747217482174921750217512175221753217542175521756217572175821759217602176121762217632176421765217662176721768217692177021771217722177321774217752177621777217782177921780217812178221783217842178521786217872178821789217902179121792217932179421795217962179721798217992180021801218022180321804218052180621807218082180921810218112181221813218142181521816218172181821819218202182121822218232182421825218262182721828218292183021831218322183321834218352183621837218382183921840218412184221843218442184521846218472184821849218502185121852218532185421855218562185721858218592186021861218622186321864218652186621867218682186921870218712187221873218742187521876218772187821879218802188121882218832188421885218862188721888218892189021891218922189321894218952189621897218982189921900219012190221903219042190521906219072190821909219102191121912219132191421915219162191721918219192192021921219222192321924219252192621927219282192921930219312193221933219342193521936219372193821939219402194121942219432194421945219462194721948219492195021951219522195321954219552195621957219582195921960219612196221963219642196521966219672196821969219702197121972219732197421975219762197721978219792198021981219822198321984219852198621987219882198921990219912199221993219942199521996219972199821999220002200122002220032200422005220062200722008220092201022011220122201322014220152201622017220182201922020220212202222023220242202522026220272202822029220302203122032220332203422035220362203722038220392204022041220422204322044220452204622047220482204922050220512205222053220542205522056220572205822059220602206122062220632206422065220662206722068220692207022071220722207322074220752207622077220782207922080220812208222083220842208522086220872208822089220902209122092220932209422095220962209722098220992210022101221022210322104221052210622107221082210922110221112211222113221142211522116221172211822119221202212122122221232212422125221262212722128221292213022131221322213322134221352213622137221382213922140221412214222143221442214522146221472214822149221502215122152221532215422155221562215722158221592216022161221622216322164221652216622167221682216922170221712217222173221742217522176221772217822179221802218122182221832218422185221862218722188221892219022191221922219322194221952219622197221982219922200222012220222203222042220522206222072220822209222102221122212222132221422215222162221722218222192222022221222222222322224222252222622227222282222922230222312223222233222342223522236222372223822239222402224122242222432224422245222462224722248222492225022251222522225322254222552225622257222582225922260222612226222263222642226522266222672226822269222702227122272222732227422275222762227722278222792228022281222822228322284222852228622287222882228922290222912229222293222942229522296222972229822299223002230122302223032230422305223062230722308223092231022311223122231322314223152231622317223182231922320223212232222323223242232522326223272232822329223302233122332223332233422335223362233722338223392234022341223422234322344223452234622347223482234922350223512235222353223542235522356223572235822359223602236122362223632236422365223662236722368223692237022371223722237322374223752237622377223782237922380223812238222383223842238522386223872238822389223902239122392223932239422395223962239722398223992240022401224022240322404224052240622407224082240922410224112241222413224142241522416224172241822419224202242122422224232242422425224262242722428224292243022431224322243322434224352243622437224382243922440224412244222443224442244522446224472244822449224502245122452224532245422455224562245722458224592246022461224622246322464224652246622467224682246922470224712247222473224742247522476224772247822479224802248122482224832248422485224862248722488224892249022491224922249322494224952249622497224982249922500225012250222503225042250522506225072250822509225102251122512225132251422515225162251722518225192252022521225222252322524225252252622527225282252922530225312253222533225342253522536225372253822539225402254122542225432254422545225462254722548225492255022551225522255322554225552255622557225582255922560225612256222563225642256522566225672256822569225702257122572225732257422575225762257722578225792258022581225822258322584225852258622587225882258922590225912259222593225942259522596225972259822599226002260122602226032260422605226062260722608226092261022611226122261322614226152261622617226182261922620226212262222623226242262522626226272262822629226302263122632226332263422635226362263722638226392264022641226422264322644226452264622647226482264922650226512265222653226542265522656226572265822659226602266122662226632266422665226662266722668226692267022671226722267322674226752267622677226782267922680226812268222683226842268522686226872268822689226902269122692226932269422695226962269722698226992270022701227022270322704227052270622707227082270922710227112271222713227142271522716227172271822719227202272122722227232272422725227262272722728227292273022731227322273322734227352273622737227382273922740227412274222743227442274522746227472274822749227502275122752227532275422755227562275722758227592276022761227622276322764227652276622767227682276922770227712277222773227742277522776227772277822779227802278122782227832278422785227862278722788227892279022791227922279322794227952279622797227982279922800228012280222803228042280522806228072280822809228102281122812228132281422815228162281722818228192282022821228222282322824228252282622827228282282922830228312283222833228342283522836228372283822839228402284122842228432284422845228462284722848228492285022851228522285322854228552285622857228582285922860228612286222863228642286522866228672286822869228702287122872228732287422875228762287722878228792288022881228822288322884228852288622887228882288922890228912289222893228942289522896228972289822899229002290122902229032290422905229062290722908229092291022911229122291322914229152291622917229182291922920229212292222923229242292522926229272292822929229302293122932229332293422935229362293722938229392294022941229422294322944229452294622947229482294922950229512295222953229542295522956229572295822959229602296122962229632296422965229662296722968229692297022971229722297322974229752297622977229782297922980229812298222983229842298522986229872298822989229902299122992229932299422995229962299722998229992300023001230022300323004230052300623007230082300923010230112301223013230142301523016230172301823019230202302123022230232302423025230262302723028230292303023031230322303323034230352303623037230382303923040230412304223043230442304523046230472304823049230502305123052230532305423055230562305723058230592306023061230622306323064230652306623067230682306923070230712307223073230742307523076230772307823079230802308123082230832308423085230862308723088230892309023091230922309323094230952309623097230982309923100231012310223103231042310523106231072310823109231102311123112231132311423115231162311723118231192312023121231222312323124231252312623127231282312923130231312313223133231342313523136231372313823139231402314123142231432314423145231462314723148231492315023151231522315323154231552315623157231582315923160231612316223163231642316523166231672316823169231702317123172231732317423175231762317723178231792318023181231822318323184231852318623187231882318923190231912319223193231942319523196231972319823199232002320123202232032320423205232062320723208232092321023211232122321323214232152321623217232182321923220232212322223223232242322523226232272322823229232302323123232232332323423235232362323723238232392324023241232422324323244232452324623247232482324923250232512325223253232542325523256232572325823259232602326123262232632326423265232662326723268232692327023271232722327323274232752327623277232782327923280232812328223283232842328523286232872328823289232902329123292232932329423295232962329723298232992330023301233022330323304233052330623307233082330923310233112331223313233142331523316233172331823319233202332123322233232332423325233262332723328233292333023331233322333323334233352333623337233382333923340233412334223343233442334523346233472334823349233502335123352233532335423355233562335723358233592336023361233622336323364233652336623367233682336923370233712337223373233742337523376233772337823379233802338123382233832338423385233862338723388233892339023391233922339323394233952339623397233982339923400234012340223403234042340523406234072340823409234102341123412234132341423415234162341723418234192342023421234222342323424234252342623427234282342923430234312343223433234342343523436234372343823439234402344123442234432344423445234462344723448234492345023451234522345323454234552345623457234582345923460234612346223463234642346523466234672346823469234702347123472234732347423475234762347723478234792348023481234822348323484234852348623487234882348923490234912349223493234942349523496234972349823499235002350123502235032350423505235062350723508235092351023511235122351323514235152351623517235182351923520235212352223523235242352523526235272352823529235302353123532235332353423535235362353723538235392354023541235422354323544235452354623547235482354923550235512355223553235542355523556235572355823559235602356123562235632356423565235662356723568235692357023571235722357323574235752357623577235782357923580235812358223583235842358523586235872358823589235902359123592235932359423595235962359723598235992360023601236022360323604236052360623607236082360923610236112361223613236142361523616236172361823619236202362123622236232362423625236262362723628236292363023631236322363323634236352363623637236382363923640236412364223643236442364523646236472364823649236502365123652236532365423655236562365723658236592366023661236622366323664236652366623667236682366923670236712367223673236742367523676236772367823679236802368123682236832368423685236862368723688236892369023691236922369323694236952369623697236982369923700237012370223703237042370523706237072370823709237102371123712237132371423715237162371723718237192372023721237222372323724237252372623727237282372923730237312373223733237342373523736237372373823739237402374123742237432374423745237462374723748237492375023751237522375323754237552375623757237582375923760237612376223763237642376523766237672376823769237702377123772237732377423775237762377723778237792378023781237822378323784237852378623787237882378923790237912379223793237942379523796237972379823799238002380123802238032380423805238062380723808238092381023811238122381323814238152381623817238182381923820238212382223823238242382523826238272382823829238302383123832238332383423835238362383723838238392384023841238422384323844238452384623847238482384923850238512385223853238542385523856238572385823859238602386123862238632386423865238662386723868238692387023871238722387323874238752387623877238782387923880238812388223883238842388523886238872388823889238902389123892238932389423895238962389723898238992390023901239022390323904239052390623907239082390923910239112391223913239142391523916239172391823919239202392123922239232392423925239262392723928239292393023931239322393323934239352393623937239382393923940239412394223943239442394523946239472394823949239502395123952239532395423955239562395723958239592396023961239622396323964239652396623967239682396923970239712397223973239742397523976239772397823979239802398123982239832398423985239862398723988239892399023991239922399323994239952399623997239982399924000240012400224003240042400524006240072400824009240102401124012240132401424015240162401724018240192402024021240222402324024240252402624027240282402924030240312403224033240342403524036240372403824039240402404124042240432404424045240462404724048240492405024051240522405324054240552405624057240582405924060240612406224063240642406524066240672406824069240702407124072240732407424075240762407724078240792408024081240822408324084240852408624087240882408924090240912409224093240942409524096240972409824099241002410124102241032410424105241062410724108241092411024111241122411324114241152411624117241182411924120241212412224123241242412524126241272412824129241302413124132241332413424135241362413724138241392414024141241422414324144241452414624147241482414924150241512415224153241542415524156241572415824159241602416124162241632416424165241662416724168241692417024171241722417324174241752417624177241782417924180241812418224183241842418524186241872418824189241902419124192241932419424195241962419724198241992420024201242022420324204242052420624207242082420924210242112421224213242142421524216242172421824219242202422124222242232422424225242262422724228242292423024231242322423324234242352423624237242382423924240242412424224243242442424524246242472424824249242502425124252242532425424255242562425724258242592426024261242622426324264242652426624267242682426924270242712427224273242742427524276242772427824279242802428124282242832428424285242862428724288242892429024291242922429324294242952429624297242982429924300243012430224303243042430524306243072430824309243102431124312243132431424315243162431724318243192432024321243222432324324243252432624327243282432924330243312433224333243342433524336243372433824339243402434124342243432434424345243462434724348243492435024351243522435324354243552435624357243582435924360243612436224363243642436524366243672436824369243702437124372243732437424375243762437724378243792438024381243822438324384243852438624387243882438924390243912439224393243942439524396243972439824399244002440124402244032440424405244062440724408244092441024411244122441324414244152441624417244182441924420244212442224423244242442524426244272442824429244302443124432244332443424435244362443724438244392444024441244422444324444244452444624447244482444924450244512445224453244542445524456244572445824459244602446124462244632446424465244662446724468244692447024471244722447324474244752447624477244782447924480244812448224483244842448524486244872448824489244902449124492244932449424495244962449724498244992450024501245022450324504245052450624507245082450924510245112451224513245142451524516245172451824519245202452124522245232452424525245262452724528245292453024531245322453324534245352453624537245382453924540245412454224543245442454524546245472454824549245502455124552245532455424555245562455724558245592456024561245622456324564245652456624567245682456924570245712457224573245742457524576245772457824579245802458124582245832458424585245862458724588245892459024591245922459324594245952459624597245982459924600246012460224603246042460524606246072460824609246102461124612246132461424615246162461724618246192462024621246222462324624246252462624627246282462924630246312463224633246342463524636246372463824639246402464124642246432464424645246462464724648246492465024651246522465324654246552465624657246582465924660246612466224663246642466524666246672466824669246702467124672246732467424675246762467724678246792468024681246822468324684246852468624687246882468924690246912469224693246942469524696246972469824699247002470124702247032470424705247062470724708247092471024711247122471324714247152471624717247182471924720247212472224723247242472524726247272472824729247302473124732247332473424735247362473724738247392474024741247422474324744247452474624747247482474924750247512475224753247542475524756247572475824759247602476124762247632476424765247662476724768247692477024771247722477324774247752477624777247782477924780247812478224783247842478524786247872478824789247902479124792247932479424795247962479724798247992480024801248022480324804248052480624807248082480924810248112481224813248142481524816248172481824819248202482124822248232482424825248262482724828248292483024831248322483324834248352483624837248382483924840248412484224843248442484524846248472484824849248502485124852248532485424855248562485724858248592486024861248622486324864248652486624867248682486924870248712487224873248742487524876248772487824879248802488124882248832488424885248862488724888248892489024891248922489324894248952489624897248982489924900249012490224903249042490524906249072490824909249102491124912249132491424915249162491724918249192492024921249222492324924249252492624927249282492924930249312493224933249342493524936249372493824939249402494124942249432494424945249462494724948249492495024951249522495324954249552495624957249582495924960249612496224963249642496524966249672496824969249702497124972249732497424975249762497724978249792498024981249822498324984249852498624987249882498924990249912499224993249942499524996249972499824999250002500125002250032500425005250062500725008250092501025011250122501325014250152501625017250182501925020250212502225023250242502525026250272502825029250302503125032250332503425035250362503725038250392504025041250422504325044250452504625047250482504925050250512505225053250542505525056250572505825059250602506125062250632506425065250662506725068250692507025071250722507325074250752507625077250782507925080250812508225083250842508525086250872508825089250902509125092250932509425095250962509725098250992510025101251022510325104251052510625107251082510925110251112511225113251142511525116251172511825119251202512125122251232512425125251262512725128251292513025131251322513325134251352513625137251382513925140251412514225143251442514525146251472514825149251502515125152251532515425155251562515725158251592516025161251622516325164251652516625167251682516925170251712517225173251742517525176251772517825179251802518125182251832518425185251862518725188251892519025191251922519325194251952519625197251982519925200252012520225203252042520525206252072520825209252102521125212252132521425215252162521725218252192522025221252222522325224252252522625227252282522925230252312523225233252342523525236252372523825239252402524125242252432524425245252462524725248252492525025251252522525325254252552525625257252582525925260252612526225263252642526525266252672526825269252702527125272252732527425275252762527725278252792528025281252822528325284252852528625287252882528925290252912529225293252942529525296252972529825299253002530125302253032530425305253062530725308253092531025311253122531325314253152531625317253182531925320253212532225323253242532525326253272532825329253302533125332253332533425335253362533725338253392534025341253422534325344253452534625347253482534925350253512535225353253542535525356253572535825359253602536125362253632536425365253662536725368253692537025371253722537325374253752537625377253782537925380253812538225383253842538525386253872538825389253902539125392253932539425395253962539725398253992540025401254022540325404254052540625407254082540925410254112541225413254142541525416254172541825419254202542125422254232542425425254262542725428254292543025431254322543325434254352543625437254382543925440254412544225443254442544525446254472544825449254502545125452254532545425455254562545725458254592546025461254622546325464254652546625467254682546925470254712547225473254742547525476254772547825479254802548125482254832548425485254862548725488254892549025491254922549325494254952549625497254982549925500255012550225503255042550525506255072550825509255102551125512255132551425515255162551725518255192552025521255222552325524255252552625527255282552925530255312553225533255342553525536255372553825539255402554125542255432554425545255462554725548255492555025551255522555325554255552555625557255582555925560255612556225563255642556525566255672556825569255702557125572255732557425575255762557725578255792558025581255822558325584255852558625587255882558925590255912559225593255942559525596255972559825599256002560125602256032560425605256062560725608256092561025611256122561325614256152561625617256182561925620256212562225623256242562525626256272562825629256302563125632256332563425635256362563725638256392564025641256422564325644256452564625647256482564925650256512565225653256542565525656256572565825659256602566125662256632566425665256662566725668256692567025671256722567325674256752567625677256782567925680256812568225683256842568525686256872568825689256902569125692256932569425695256962569725698256992570025701257022570325704257052570625707257082570925710257112571225713257142571525716257172571825719257202572125722257232572425725257262572725728257292573025731257322573325734257352573625737257382573925740257412574225743257442574525746257472574825749257502575125752257532575425755257562575725758257592576025761257622576325764257652576625767257682576925770257712577225773257742577525776257772577825779257802578125782257832578425785257862578725788257892579025791257922579325794257952579625797257982579925800258012580225803258042580525806258072580825809258102581125812258132581425815258162581725818258192582025821258222582325824258252582625827258282582925830258312583225833258342583525836258372583825839258402584125842258432584425845258462584725848258492585025851258522585325854258552585625857258582585925860258612586225863258642586525866258672586825869258702587125872258732587425875258762587725878258792588025881258822588325884258852588625887258882588925890258912589225893258942589525896258972589825899259002590125902259032590425905259062590725908259092591025911259122591325914259152591625917259182591925920259212592225923259242592525926259272592825929259302593125932259332593425935259362593725938259392594025941259422594325944259452594625947259482594925950259512595225953259542595525956259572595825959259602596125962259632596425965259662596725968259692597025971259722597325974259752597625977259782597925980259812598225983259842598525986259872598825989259902599125992259932599425995259962599725998259992600026001260022600326004260052600626007260082600926010260112601226013260142601526016260172601826019260202602126022260232602426025260262602726028260292603026031260322603326034260352603626037260382603926040260412604226043260442604526046260472604826049260502605126052260532605426055260562605726058260592606026061260622606326064260652606626067260682606926070260712607226073260742607526076260772607826079260802608126082260832608426085260862608726088260892609026091260922609326094260952609626097260982609926100261012610226103261042610526106261072610826109261102611126112261132611426115261162611726118261192612026121261222612326124261252612626127261282612926130261312613226133261342613526136261372613826139261402614126142261432614426145261462614726148261492615026151261522615326154261552615626157261582615926160261612616226163261642616526166261672616826169261702617126172261732617426175261762617726178261792618026181261822618326184261852618626187261882618926190261912619226193261942619526196261972619826199262002620126202262032620426205262062620726208262092621026211262122621326214262152621626217262182621926220262212622226223262242622526226262272622826229262302623126232262332623426235262362623726238262392624026241262422624326244262452624626247262482624926250262512625226253262542625526256262572625826259262602626126262262632626426265262662626726268262692627026271262722627326274262752627626277262782627926280262812628226283262842628526286262872628826289262902629126292262932629426295262962629726298262992630026301263022630326304263052630626307263082630926310263112631226313263142631526316263172631826319263202632126322263232632426325263262632726328263292633026331263322633326334263352633626337263382633926340263412634226343263442634526346263472634826349263502635126352263532635426355263562635726358263592636026361263622636326364263652636626367263682636926370263712637226373263742637526376263772637826379263802638126382263832638426385263862638726388263892639026391263922639326394263952639626397263982639926400264012640226403264042640526406264072640826409264102641126412264132641426415264162641726418264192642026421264222642326424264252642626427264282642926430264312643226433264342643526436264372643826439264402644126442264432644426445264462644726448264492645026451264522645326454264552645626457264582645926460264612646226463264642646526466264672646826469264702647126472264732647426475264762647726478264792648026481264822648326484264852648626487264882648926490264912649226493264942649526496264972649826499265002650126502265032650426505265062650726508265092651026511265122651326514265152651626517265182651926520265212652226523265242652526526265272652826529265302653126532265332653426535265362653726538265392654026541265422654326544265452654626547265482654926550265512655226553265542655526556265572655826559265602656126562265632656426565265662656726568265692657026571265722657326574265752657626577265782657926580265812658226583265842658526586265872658826589265902659126592265932659426595265962659726598265992660026601266022660326604266052660626607266082660926610266112661226613266142661526616266172661826619266202662126622266232662426625266262662726628266292663026631266322663326634266352663626637266382663926640266412664226643266442664526646266472664826649266502665126652266532665426655266562665726658266592666026661266622666326664266652666626667266682666926670266712667226673266742667526676266772667826679266802668126682266832668426685266862668726688266892669026691266922669326694266952669626697266982669926700267012670226703267042670526706267072670826709267102671126712267132671426715267162671726718267192672026721267222672326724267252672626727267282672926730267312673226733267342673526736267372673826739267402674126742267432674426745267462674726748267492675026751267522675326754267552675626757267582675926760267612676226763267642676526766267672676826769267702677126772267732677426775267762677726778267792678026781267822678326784267852678626787267882678926790267912679226793267942679526796267972679826799268002680126802268032680426805268062680726808268092681026811268122681326814268152681626817268182681926820268212682226823268242682526826268272682826829268302683126832268332683426835268362683726838268392684026841268422684326844268452684626847268482684926850268512685226853268542685526856268572685826859268602686126862268632686426865268662686726868268692687026871268722687326874268752687626877268782687926880268812688226883268842688526886268872688826889268902689126892268932689426895268962689726898268992690026901269022690326904269052690626907269082690926910269112691226913269142691526916269172691826919269202692126922269232692426925269262692726928269292693026931269322693326934269352693626937269382693926940269412694226943269442694526946269472694826949269502695126952269532695426955269562695726958269592696026961269622696326964269652696626967269682696926970269712697226973269742697526976269772697826979269802698126982269832698426985269862698726988269892699026991269922699326994269952699626997269982699927000270012700227003270042700527006270072700827009270102701127012270132701427015270162701727018270192702027021270222702327024270252702627027270282702927030270312703227033270342703527036270372703827039270402704127042270432704427045270462704727048270492705027051270522705327054270552705627057270582705927060270612706227063270642706527066270672706827069270702707127072270732707427075270762707727078270792708027081270822708327084270852708627087270882708927090270912709227093270942709527096270972709827099271002710127102271032710427105271062710727108271092711027111271122711327114271152711627117271182711927120271212712227123271242712527126271272712827129271302713127132271332713427135271362713727138271392714027141271422714327144271452714627147271482714927150271512715227153271542715527156271572715827159271602716127162271632716427165271662716727168271692717027171271722717327174271752717627177271782717927180271812718227183271842718527186271872718827189271902719127192271932719427195271962719727198271992720027201272022720327204272052720627207272082720927210272112721227213272142721527216272172721827219272202722127222272232722427225272262722727228272292723027231272322723327234272352723627237272382723927240272412724227243272442724527246272472724827249272502725127252272532725427255272562725727258272592726027261272622726327264272652726627267272682726927270272712727227273272742727527276272772727827279272802728127282272832728427285272862728727288272892729027291272922729327294272952729627297272982729927300273012730227303273042730527306273072730827309273102731127312273132731427315273162731727318273192732027321273222732327324273252732627327273282732927330273312733227333273342733527336273372733827339273402734127342273432734427345273462734727348273492735027351273522735327354273552735627357273582735927360273612736227363273642736527366273672736827369273702737127372273732737427375273762737727378273792738027381273822738327384273852738627387273882738927390273912739227393273942739527396273972739827399274002740127402274032740427405274062740727408274092741027411274122741327414274152741627417274182741927420274212742227423274242742527426274272742827429274302743127432274332743427435274362743727438274392744027441274422744327444274452744627447274482744927450274512745227453274542745527456274572745827459274602746127462274632746427465274662746727468274692747027471274722747327474274752747627477274782747927480274812748227483274842748527486274872748827489274902749127492274932749427495274962749727498274992750027501275022750327504275052750627507275082750927510275112751227513275142751527516275172751827519275202752127522275232752427525275262752727528275292753027531275322753327534275352753627537275382753927540275412754227543275442754527546275472754827549275502755127552275532755427555275562755727558275592756027561275622756327564275652756627567275682756927570275712757227573275742757527576275772757827579275802758127582275832758427585275862758727588275892759027591275922759327594275952759627597275982759927600276012760227603276042760527606276072760827609276102761127612276132761427615276162761727618276192762027621276222762327624276252762627627276282762927630276312763227633276342763527636276372763827639276402764127642276432764427645276462764727648276492765027651276522765327654276552765627657276582765927660276612766227663276642766527666276672766827669276702767127672276732767427675276762767727678276792768027681276822768327684276852768627687276882768927690276912769227693276942769527696276972769827699277002770127702277032770427705277062770727708277092771027711277122771327714277152771627717277182771927720277212772227723277242772527726277272772827729277302773127732277332773427735277362773727738277392774027741277422774327744277452774627747277482774927750277512775227753277542775527756277572775827759277602776127762277632776427765277662776727768277692777027771277722777327774277752777627777277782777927780277812778227783277842778527786277872778827789277902779127792277932779427795277962779727798277992780027801278022780327804278052780627807278082780927810278112781227813278142781527816278172781827819278202782127822278232782427825278262782727828278292783027831278322783327834278352783627837278382783927840278412784227843278442784527846278472784827849278502785127852278532785427855278562785727858278592786027861278622786327864278652786627867278682786927870278712787227873278742787527876278772787827879278802788127882278832788427885278862788727888278892789027891278922789327894278952789627897278982789927900279012790227903279042790527906279072790827909279102791127912279132791427915279162791727918279192792027921279222792327924279252792627927279282792927930279312793227933279342793527936279372793827939279402794127942279432794427945279462794727948279492795027951279522795327954279552795627957279582795927960279612796227963279642796527966279672796827969279702797127972279732797427975279762797727978279792798027981279822798327984279852798627987279882798927990279912799227993279942799527996279972799827999280002800128002280032800428005280062800728008280092801028011280122801328014280152801628017280182801928020280212802228023280242802528026280272802828029280302803128032280332803428035280362803728038280392804028041280422804328044280452804628047280482804928050280512805228053280542805528056280572805828059280602806128062280632806428065280662806728068280692807028071280722807328074280752807628077280782807928080280812808228083280842808528086280872808828089280902809128092280932809428095280962809728098280992810028101281022810328104281052810628107281082810928110281112811228113281142811528116281172811828119281202812128122281232812428125281262812728128281292813028131281322813328134281352813628137281382813928140281412814228143281442814528146281472814828149281502815128152281532815428155281562815728158281592816028161281622816328164281652816628167281682816928170281712817228173281742817528176281772817828179281802818128182281832818428185281862818728188281892819028191281922819328194281952819628197281982819928200282012820228203282042820528206282072820828209282102821128212282132821428215282162821728218282192822028221282222822328224282252822628227282282822928230282312823228233282342823528236282372823828239282402824128242282432824428245282462824728248282492825028251282522825328254282552825628257282582825928260282612826228263282642826528266282672826828269282702827128272282732827428275282762827728278282792828028281282822828328284282852828628287282882828928290282912829228293282942829528296282972829828299283002830128302283032830428305283062830728308283092831028311283122831328314283152831628317283182831928320283212832228323283242832528326283272832828329283302833128332283332833428335283362833728338283392834028341283422834328344283452834628347283482834928350283512835228353283542835528356283572835828359283602836128362283632836428365283662836728368283692837028371283722837328374283752837628377283782837928380283812838228383283842838528386283872838828389283902839128392283932839428395283962839728398283992840028401284022840328404284052840628407284082840928410284112841228413284142841528416284172841828419284202842128422284232842428425284262842728428284292843028431284322843328434284352843628437284382843928440284412844228443284442844528446284472844828449284502845128452284532845428455284562845728458284592846028461284622846328464284652846628467284682846928470284712847228473284742847528476284772847828479284802848128482284832848428485284862848728488284892849028491284922849328494284952849628497284982849928500285012850228503285042850528506285072850828509285102851128512285132851428515285162851728518285192852028521285222852328524285252852628527285282852928530285312853228533285342853528536285372853828539285402854128542285432854428545285462854728548285492855028551285522855328554285552855628557285582855928560285612856228563285642856528566285672856828569285702857128572285732857428575285762857728578285792858028581285822858328584285852858628587285882858928590285912859228593285942859528596285972859828599286002860128602286032860428605286062860728608286092861028611286122861328614286152861628617286182861928620286212862228623286242862528626286272862828629286302863128632286332863428635286362863728638286392864028641286422864328644286452864628647286482864928650286512865228653286542865528656286572865828659286602866128662286632866428665286662866728668286692867028671286722867328674286752867628677286782867928680286812868228683286842868528686286872868828689286902869128692286932869428695286962869728698286992870028701287022870328704287052870628707287082870928710287112871228713287142871528716287172871828719287202872128722287232872428725287262872728728287292873028731287322873328734287352873628737287382873928740287412874228743287442874528746287472874828749287502875128752287532875428755287562875728758287592876028761287622876328764287652876628767287682876928770287712877228773287742877528776287772877828779287802878128782287832878428785287862878728788287892879028791287922879328794287952879628797287982879928800288012880228803288042880528806288072880828809288102881128812288132881428815288162881728818288192882028821288222882328824288252882628827288282882928830288312883228833288342883528836288372883828839288402884128842288432884428845288462884728848288492885028851288522885328854288552885628857288582885928860288612886228863288642886528866288672886828869288702887128872288732887428875288762887728878288792888028881288822888328884288852888628887288882888928890288912889228893288942889528896288972889828899289002890128902289032890428905289062890728908289092891028911289122891328914289152891628917289182891928920289212892228923289242892528926289272892828929289302893128932289332893428935289362893728938289392894028941289422894328944289452894628947289482894928950289512895228953289542895528956289572895828959289602896128962289632896428965289662896728968289692897028971289722897328974289752897628977289782897928980289812898228983289842898528986289872898828989289902899128992289932899428995289962899728998289992900029001290022900329004290052900629007290082900929010290112901229013290142901529016290172901829019290202902129022290232902429025290262902729028290292903029031290322903329034290352903629037290382903929040290412904229043290442904529046290472904829049290502905129052290532905429055290562905729058290592906029061290622906329064290652906629067290682906929070290712907229073290742907529076290772907829079290802908129082290832908429085290862908729088290892909029091290922909329094290952909629097290982909929100291012910229103291042910529106291072910829109291102911129112291132911429115291162911729118291192912029121291222912329124291252912629127291282912929130291312913229133291342913529136291372913829139291402914129142291432914429145291462914729148291492915029151291522915329154291552915629157291582915929160291612916229163291642916529166291672916829169291702917129172291732917429175291762917729178291792918029181291822918329184291852918629187291882918929190291912919229193291942919529196291972919829199292002920129202292032920429205292062920729208292092921029211292122921329214292152921629217292182921929220292212922229223292242922529226292272922829229292302923129232292332923429235292362923729238292392924029241292422924329244292452924629247292482924929250292512925229253292542925529256292572925829259292602926129262292632926429265292662926729268292692927029271292722927329274292752927629277292782927929280292812928229283292842928529286292872928829289292902929129292292932929429295292962929729298292992930029301293022930329304293052930629307293082930929310293112931229313293142931529316293172931829319293202932129322293232932429325293262932729328293292933029331293322933329334293352933629337293382933929340293412934229343293442934529346293472934829349293502935129352293532935429355293562935729358293592936029361293622936329364293652936629367293682936929370293712937229373293742937529376293772937829379293802938129382293832938429385293862938729388293892939029391293922939329394293952939629397293982939929400294012940229403294042940529406294072940829409294102941129412294132941429415294162941729418294192942029421294222942329424294252942629427294282942929430294312943229433294342943529436294372943829439294402944129442294432944429445294462944729448294492945029451294522945329454294552945629457294582945929460294612946229463294642946529466294672946829469294702947129472294732947429475294762947729478294792948029481294822948329484294852948629487294882948929490294912949229493294942949529496294972949829499295002950129502295032950429505295062950729508295092951029511295122951329514295152951629517295182951929520295212952229523295242952529526295272952829529295302953129532295332953429535295362953729538295392954029541295422954329544295452954629547295482954929550295512955229553295542955529556295572955829559295602956129562295632956429565295662956729568295692957029571295722957329574295752957629577295782957929580295812958229583295842958529586295872958829589295902959129592295932959429595295962959729598295992960029601296022960329604296052960629607296082960929610296112961229613296142961529616296172961829619296202962129622296232962429625296262962729628296292963029631296322963329634296352963629637296382963929640296412964229643296442964529646296472964829649296502965129652296532965429655296562965729658296592966029661296622966329664296652966629667296682966929670296712967229673296742967529676296772967829679296802968129682296832968429685296862968729688296892969029691296922969329694296952969629697296982969929700297012970229703297042970529706297072970829709297102971129712297132971429715297162971729718297192972029721297222972329724297252972629727297282972929730297312973229733297342973529736297372973829739297402974129742297432974429745297462974729748297492975029751297522975329754297552975629757297582975929760297612976229763297642976529766297672976829769297702977129772297732977429775297762977729778297792978029781297822978329784297852978629787297882978929790297912979229793297942979529796297972979829799298002980129802298032980429805298062980729808298092981029811298122981329814298152981629817298182981929820298212982229823298242982529826298272982829829298302983129832298332983429835298362983729838298392984029841298422984329844298452984629847298482984929850298512985229853298542985529856298572985829859298602986129862298632986429865298662986729868298692987029871298722987329874298752987629877298782987929880298812988229883298842988529886298872988829889298902989129892298932989429895298962989729898298992990029901299022990329904299052990629907299082990929910299112991229913299142991529916299172991829919299202992129922299232992429925299262992729928299292993029931299322993329934299352993629937299382993929940299412994229943299442994529946299472994829949299502995129952299532995429955299562995729958299592996029961299622996329964299652996629967299682996929970299712997229973299742997529976299772997829979299802998129982299832998429985299862998729988299892999029991299922999329994299952999629997299982999930000300013000230003300043000530006300073000830009300103001130012300133001430015300163001730018300193002030021300223002330024300253002630027300283002930030300313003230033300343003530036300373003830039300403004130042300433004430045300463004730048300493005030051300523005330054300553005630057300583005930060300613006230063300643006530066300673006830069300703007130072300733007430075300763007730078300793008030081300823008330084300853008630087300883008930090300913009230093300943009530096300973009830099301003010130102301033010430105301063010730108301093011030111301123011330114301153011630117301183011930120301213012230123301243012530126301273012830129301303013130132301333013430135301363013730138301393014030141301423014330144301453014630147301483014930150301513015230153301543015530156301573015830159301603016130162301633016430165301663016730168301693017030171301723017330174301753017630177301783017930180301813018230183301843018530186301873018830189301903019130192301933019430195301963019730198301993020030201302023020330204302053020630207302083020930210302113021230213302143021530216302173021830219302203022130222302233022430225302263022730228302293023030231302323023330234302353023630237302383023930240302413024230243302443024530246302473024830249302503025130252302533025430255302563025730258302593026030261302623026330264302653026630267302683026930270302713027230273302743027530276302773027830279302803028130282302833028430285302863028730288302893029030291302923029330294302953029630297302983029930300303013030230303303043030530306303073030830309303103031130312303133031430315303163031730318303193032030321303223032330324303253032630327303283032930330303313033230333303343033530336303373033830339303403034130342303433034430345303463034730348303493035030351303523035330354303553035630357303583035930360303613036230363303643036530366303673036830369303703037130372303733037430375303763037730378303793038030381303823038330384303853038630387303883038930390303913039230393303943039530396303973039830399304003040130402304033040430405304063040730408304093041030411304123041330414304153041630417304183041930420304213042230423304243042530426304273042830429304303043130432304333043430435304363043730438304393044030441304423044330444304453044630447304483044930450304513045230453304543045530456304573045830459304603046130462304633046430465304663046730468304693047030471304723047330474304753047630477304783047930480304813048230483304843048530486304873048830489304903049130492304933049430495304963049730498304993050030501305023050330504305053050630507305083050930510305113051230513305143051530516305173051830519305203052130522305233052430525305263052730528305293053030531305323053330534305353053630537305383053930540305413054230543305443054530546305473054830549305503055130552305533055430555305563055730558305593056030561305623056330564305653056630567305683056930570305713057230573305743057530576305773057830579305803058130582305833058430585305863058730588305893059030591305923059330594305953059630597305983059930600306013060230603306043060530606306073060830609306103061130612306133061430615306163061730618306193062030621306223062330624306253062630627306283062930630306313063230633306343063530636306373063830639306403064130642306433064430645306463064730648306493065030651306523065330654306553065630657306583065930660306613066230663306643066530666306673066830669306703067130672306733067430675306763067730678306793068030681306823068330684306853068630687306883068930690306913069230693306943069530696306973069830699307003070130702307033070430705307063070730708307093071030711307123071330714307153071630717307183071930720307213072230723307243072530726307273072830729307303073130732307333073430735307363073730738307393074030741307423074330744307453074630747307483074930750307513075230753307543075530756307573075830759307603076130762307633076430765307663076730768307693077030771307723077330774307753077630777307783077930780307813078230783307843078530786307873078830789307903079130792307933079430795307963079730798307993080030801308023080330804308053080630807308083080930810308113081230813308143081530816308173081830819308203082130822308233082430825308263082730828308293083030831308323083330834308353083630837308383083930840308413084230843308443084530846308473084830849308503085130852308533085430855308563085730858308593086030861308623086330864308653086630867308683086930870308713087230873308743087530876308773087830879308803088130882308833088430885308863088730888308893089030891308923089330894308953089630897308983089930900309013090230903309043090530906309073090830909309103091130912309133091430915309163091730918309193092030921309223092330924309253092630927309283092930930309313093230933309343093530936309373093830939309403094130942309433094430945309463094730948309493095030951309523095330954309553095630957309583095930960309613096230963309643096530966309673096830969309703097130972309733097430975309763097730978309793098030981309823098330984309853098630987309883098930990309913099230993309943099530996309973099830999310003100131002310033100431005310063100731008310093101031011310123101331014310153101631017310183101931020310213102231023310243102531026310273102831029310303103131032310333103431035310363103731038310393104031041310423104331044310453104631047310483104931050310513105231053310543105531056310573105831059310603106131062310633106431065310663106731068310693107031071310723107331074310753107631077310783107931080310813108231083310843108531086310873108831089310903109131092310933109431095310963109731098310993110031101311023110331104311053110631107311083110931110311113111231113311143111531116311173111831119311203112131122311233112431125311263112731128311293113031131311323113331134311353113631137311383113931140311413114231143311443114531146311473114831149311503115131152311533115431155311563115731158311593116031161311623116331164311653116631167311683116931170311713117231173311743117531176311773117831179311803118131182311833118431185311863118731188311893119031191311923119331194311953119631197311983119931200312013120231203312043120531206312073120831209312103121131212312133121431215312163121731218312193122031221312223122331224312253122631227312283122931230312313123231233312343123531236312373123831239312403124131242312433124431245312463124731248312493125031251312523125331254312553125631257312583125931260312613126231263312643126531266312673126831269312703127131272312733127431275312763127731278312793128031281312823128331284312853128631287312883128931290312913129231293312943129531296312973129831299313003130131302313033130431305313063130731308313093131031311313123131331314313153131631317313183131931320313213132231323313243132531326313273132831329313303133131332313333133431335313363133731338313393134031341313423134331344313453134631347313483134931350313513135231353313543135531356313573135831359313603136131362313633136431365313663136731368313693137031371313723137331374313753137631377313783137931380313813138231383313843138531386313873138831389313903139131392313933139431395313963139731398313993140031401314023140331404314053140631407314083140931410314113141231413314143141531416314173141831419314203142131422314233142431425314263142731428314293143031431314323143331434314353143631437314383143931440314413144231443314443144531446314473144831449314503145131452314533145431455314563145731458314593146031461314623146331464314653146631467314683146931470314713147231473314743147531476314773147831479314803148131482314833148431485314863148731488314893149031491314923149331494314953149631497314983149931500315013150231503315043150531506315073150831509315103151131512315133151431515315163151731518315193152031521315223152331524315253152631527315283152931530315313153231533315343153531536315373153831539315403154131542315433154431545315463154731548315493155031551315523155331554315553155631557315583155931560315613156231563315643156531566315673156831569315703157131572315733157431575315763157731578315793158031581315823158331584315853158631587315883158931590315913159231593315943159531596315973159831599316003160131602316033160431605316063160731608316093161031611316123161331614316153161631617316183161931620316213162231623316243162531626316273162831629316303163131632316333163431635316363163731638316393164031641316423164331644316453164631647316483164931650316513165231653316543165531656316573165831659316603166131662316633166431665316663166731668316693167031671316723167331674316753167631677316783167931680316813168231683316843168531686316873168831689316903169131692316933169431695316963169731698316993170031701317023170331704317053170631707317083170931710317113171231713317143171531716317173171831719317203172131722317233172431725317263172731728317293173031731317323173331734317353173631737317383173931740317413174231743317443174531746317473174831749317503175131752317533175431755317563175731758317593176031761317623176331764317653176631767317683176931770317713177231773317743177531776317773177831779317803178131782317833178431785317863178731788317893179031791317923179331794317953179631797317983179931800318013180231803318043180531806318073180831809318103181131812318133181431815318163181731818318193182031821318223182331824318253182631827318283182931830318313183231833318343183531836318373183831839318403184131842318433184431845318463184731848318493185031851318523185331854318553185631857318583185931860318613186231863318643186531866318673186831869318703187131872318733187431875318763187731878318793188031881318823188331884318853188631887318883188931890318913189231893318943189531896318973189831899319003190131902 |
- /*-------------------------------------------------------------------------------------
- *
- * Copyright (c) Microsoft Corporation
- * Licensed under the MIT license
- *
- *-------------------------------------------------------------------------------------*/
- /* this ALWAYS GENERATED file contains the definitions for the interfaces */
- /* File created by MIDL compiler version 8.01.0628 */
- /* verify that the <rpcndr.h> version is high enough to compile this file*/
- #ifndef __REQUIRED_RPCNDR_H_VERSION__
- #define __REQUIRED_RPCNDR_H_VERSION__ 500
- #endif
- /* verify that the <rpcsal.h> version is high enough to compile this file*/
- #ifndef __REQUIRED_RPCSAL_H_VERSION__
- #define __REQUIRED_RPCSAL_H_VERSION__ 100
- #endif
- #include "rpc.h"
- #include "rpcndr.h"
- #ifndef __RPCNDR_H_VERSION__
- #error this stub requires an updated version of <rpcndr.h>
- #endif /* __RPCNDR_H_VERSION__ */
- #ifndef COM_NO_WINDOWS_H
- #include "windows.h"
- #include "ole2.h"
- #endif /*COM_NO_WINDOWS_H*/
- #ifndef __d3d12_h__
- #define __d3d12_h__
- #if defined(_MSC_VER) && (_MSC_VER >= 1020)
- #pragma once
- #endif
- #ifndef DECLSPEC_XFGVIRT
- #if defined(_CONTROL_FLOW_GUARD_XFG)
- #define DECLSPEC_XFGVIRT(base, func) __declspec(xfg_virtual(base, func))
- #else
- #define DECLSPEC_XFGVIRT(base, func)
- #endif
- #endif
- /* Forward Declarations */
- #ifndef __ID3D12Object_FWD_DEFINED__
- #define __ID3D12Object_FWD_DEFINED__
- typedef interface ID3D12Object ID3D12Object;
- #endif /* __ID3D12Object_FWD_DEFINED__ */
- #ifndef __ID3D12DeviceChild_FWD_DEFINED__
- #define __ID3D12DeviceChild_FWD_DEFINED__
- typedef interface ID3D12DeviceChild ID3D12DeviceChild;
- #endif /* __ID3D12DeviceChild_FWD_DEFINED__ */
- #ifndef __ID3D12RootSignature_FWD_DEFINED__
- #define __ID3D12RootSignature_FWD_DEFINED__
- typedef interface ID3D12RootSignature ID3D12RootSignature;
- #endif /* __ID3D12RootSignature_FWD_DEFINED__ */
- #ifndef __ID3D12RootSignatureDeserializer_FWD_DEFINED__
- #define __ID3D12RootSignatureDeserializer_FWD_DEFINED__
- typedef interface ID3D12RootSignatureDeserializer ID3D12RootSignatureDeserializer;
- #endif /* __ID3D12RootSignatureDeserializer_FWD_DEFINED__ */
- #ifndef __ID3D12VersionedRootSignatureDeserializer_FWD_DEFINED__
- #define __ID3D12VersionedRootSignatureDeserializer_FWD_DEFINED__
- typedef interface ID3D12VersionedRootSignatureDeserializer ID3D12VersionedRootSignatureDeserializer;
- #endif /* __ID3D12VersionedRootSignatureDeserializer_FWD_DEFINED__ */
- #ifndef __ID3D12Pageable_FWD_DEFINED__
- #define __ID3D12Pageable_FWD_DEFINED__
- typedef interface ID3D12Pageable ID3D12Pageable;
- #endif /* __ID3D12Pageable_FWD_DEFINED__ */
- #ifndef __ID3D12Heap_FWD_DEFINED__
- #define __ID3D12Heap_FWD_DEFINED__
- typedef interface ID3D12Heap ID3D12Heap;
- #endif /* __ID3D12Heap_FWD_DEFINED__ */
- #ifndef __ID3D12Resource_FWD_DEFINED__
- #define __ID3D12Resource_FWD_DEFINED__
- typedef interface ID3D12Resource ID3D12Resource;
- #endif /* __ID3D12Resource_FWD_DEFINED__ */
- #ifndef __ID3D12CommandAllocator_FWD_DEFINED__
- #define __ID3D12CommandAllocator_FWD_DEFINED__
- typedef interface ID3D12CommandAllocator ID3D12CommandAllocator;
- #endif /* __ID3D12CommandAllocator_FWD_DEFINED__ */
- #ifndef __ID3D12Fence_FWD_DEFINED__
- #define __ID3D12Fence_FWD_DEFINED__
- typedef interface ID3D12Fence ID3D12Fence;
- #endif /* __ID3D12Fence_FWD_DEFINED__ */
- #ifndef __ID3D12Fence1_FWD_DEFINED__
- #define __ID3D12Fence1_FWD_DEFINED__
- typedef interface ID3D12Fence1 ID3D12Fence1;
- #endif /* __ID3D12Fence1_FWD_DEFINED__ */
- #ifndef __ID3D12PipelineState_FWD_DEFINED__
- #define __ID3D12PipelineState_FWD_DEFINED__
- typedef interface ID3D12PipelineState ID3D12PipelineState;
- #endif /* __ID3D12PipelineState_FWD_DEFINED__ */
- #ifndef __ID3D12DescriptorHeap_FWD_DEFINED__
- #define __ID3D12DescriptorHeap_FWD_DEFINED__
- typedef interface ID3D12DescriptorHeap ID3D12DescriptorHeap;
- #endif /* __ID3D12DescriptorHeap_FWD_DEFINED__ */
- #ifndef __ID3D12QueryHeap_FWD_DEFINED__
- #define __ID3D12QueryHeap_FWD_DEFINED__
- typedef interface ID3D12QueryHeap ID3D12QueryHeap;
- #endif /* __ID3D12QueryHeap_FWD_DEFINED__ */
- #ifndef __ID3D12CommandSignature_FWD_DEFINED__
- #define __ID3D12CommandSignature_FWD_DEFINED__
- typedef interface ID3D12CommandSignature ID3D12CommandSignature;
- #endif /* __ID3D12CommandSignature_FWD_DEFINED__ */
- #ifndef __ID3D12CommandList_FWD_DEFINED__
- #define __ID3D12CommandList_FWD_DEFINED__
- typedef interface ID3D12CommandList ID3D12CommandList;
- #endif /* __ID3D12CommandList_FWD_DEFINED__ */
- #ifndef __ID3D12GraphicsCommandList_FWD_DEFINED__
- #define __ID3D12GraphicsCommandList_FWD_DEFINED__
- typedef interface ID3D12GraphicsCommandList ID3D12GraphicsCommandList;
- #endif /* __ID3D12GraphicsCommandList_FWD_DEFINED__ */
- #ifndef __ID3D12GraphicsCommandList1_FWD_DEFINED__
- #define __ID3D12GraphicsCommandList1_FWD_DEFINED__
- typedef interface ID3D12GraphicsCommandList1 ID3D12GraphicsCommandList1;
- #endif /* __ID3D12GraphicsCommandList1_FWD_DEFINED__ */
- #ifndef __ID3D12GraphicsCommandList2_FWD_DEFINED__
- #define __ID3D12GraphicsCommandList2_FWD_DEFINED__
- typedef interface ID3D12GraphicsCommandList2 ID3D12GraphicsCommandList2;
- #endif /* __ID3D12GraphicsCommandList2_FWD_DEFINED__ */
- #ifndef __ID3D12CommandQueue_FWD_DEFINED__
- #define __ID3D12CommandQueue_FWD_DEFINED__
- typedef interface ID3D12CommandQueue ID3D12CommandQueue;
- #endif /* __ID3D12CommandQueue_FWD_DEFINED__ */
- #ifndef __ID3D12Device_FWD_DEFINED__
- #define __ID3D12Device_FWD_DEFINED__
- typedef interface ID3D12Device ID3D12Device;
- #endif /* __ID3D12Device_FWD_DEFINED__ */
- #ifndef __ID3D12PipelineLibrary_FWD_DEFINED__
- #define __ID3D12PipelineLibrary_FWD_DEFINED__
- typedef interface ID3D12PipelineLibrary ID3D12PipelineLibrary;
- #endif /* __ID3D12PipelineLibrary_FWD_DEFINED__ */
- #ifndef __ID3D12PipelineLibrary1_FWD_DEFINED__
- #define __ID3D12PipelineLibrary1_FWD_DEFINED__
- typedef interface ID3D12PipelineLibrary1 ID3D12PipelineLibrary1;
- #endif /* __ID3D12PipelineLibrary1_FWD_DEFINED__ */
- #ifndef __ID3D12Device1_FWD_DEFINED__
- #define __ID3D12Device1_FWD_DEFINED__
- typedef interface ID3D12Device1 ID3D12Device1;
- #endif /* __ID3D12Device1_FWD_DEFINED__ */
- #ifndef __ID3D12Device2_FWD_DEFINED__
- #define __ID3D12Device2_FWD_DEFINED__
- typedef interface ID3D12Device2 ID3D12Device2;
- #endif /* __ID3D12Device2_FWD_DEFINED__ */
- #ifndef __ID3D12Device3_FWD_DEFINED__
- #define __ID3D12Device3_FWD_DEFINED__
- typedef interface ID3D12Device3 ID3D12Device3;
- #endif /* __ID3D12Device3_FWD_DEFINED__ */
- #ifndef __ID3D12ProtectedSession_FWD_DEFINED__
- #define __ID3D12ProtectedSession_FWD_DEFINED__
- typedef interface ID3D12ProtectedSession ID3D12ProtectedSession;
- #endif /* __ID3D12ProtectedSession_FWD_DEFINED__ */
- #ifndef __ID3D12ProtectedResourceSession_FWD_DEFINED__
- #define __ID3D12ProtectedResourceSession_FWD_DEFINED__
- typedef interface ID3D12ProtectedResourceSession ID3D12ProtectedResourceSession;
- #endif /* __ID3D12ProtectedResourceSession_FWD_DEFINED__ */
- #ifndef __ID3D12Device4_FWD_DEFINED__
- #define __ID3D12Device4_FWD_DEFINED__
- typedef interface ID3D12Device4 ID3D12Device4;
- #endif /* __ID3D12Device4_FWD_DEFINED__ */
- #ifndef __ID3D12LifetimeOwner_FWD_DEFINED__
- #define __ID3D12LifetimeOwner_FWD_DEFINED__
- typedef interface ID3D12LifetimeOwner ID3D12LifetimeOwner;
- #endif /* __ID3D12LifetimeOwner_FWD_DEFINED__ */
- #ifndef __ID3D12SwapChainAssistant_FWD_DEFINED__
- #define __ID3D12SwapChainAssistant_FWD_DEFINED__
- typedef interface ID3D12SwapChainAssistant ID3D12SwapChainAssistant;
- #endif /* __ID3D12SwapChainAssistant_FWD_DEFINED__ */
- #ifndef __ID3D12LifetimeTracker_FWD_DEFINED__
- #define __ID3D12LifetimeTracker_FWD_DEFINED__
- typedef interface ID3D12LifetimeTracker ID3D12LifetimeTracker;
- #endif /* __ID3D12LifetimeTracker_FWD_DEFINED__ */
- #ifndef __ID3D12StateObject_FWD_DEFINED__
- #define __ID3D12StateObject_FWD_DEFINED__
- typedef interface ID3D12StateObject ID3D12StateObject;
- #endif /* __ID3D12StateObject_FWD_DEFINED__ */
- #ifndef __ID3D12StateObjectProperties_FWD_DEFINED__
- #define __ID3D12StateObjectProperties_FWD_DEFINED__
- typedef interface ID3D12StateObjectProperties ID3D12StateObjectProperties;
- #endif /* __ID3D12StateObjectProperties_FWD_DEFINED__ */
- #ifndef __ID3D12Device5_FWD_DEFINED__
- #define __ID3D12Device5_FWD_DEFINED__
- typedef interface ID3D12Device5 ID3D12Device5;
- #endif /* __ID3D12Device5_FWD_DEFINED__ */
- #ifndef __ID3D12DeviceRemovedExtendedDataSettings_FWD_DEFINED__
- #define __ID3D12DeviceRemovedExtendedDataSettings_FWD_DEFINED__
- typedef interface ID3D12DeviceRemovedExtendedDataSettings ID3D12DeviceRemovedExtendedDataSettings;
- #endif /* __ID3D12DeviceRemovedExtendedDataSettings_FWD_DEFINED__ */
- #ifndef __ID3D12DeviceRemovedExtendedDataSettings1_FWD_DEFINED__
- #define __ID3D12DeviceRemovedExtendedDataSettings1_FWD_DEFINED__
- typedef interface ID3D12DeviceRemovedExtendedDataSettings1 ID3D12DeviceRemovedExtendedDataSettings1;
- #endif /* __ID3D12DeviceRemovedExtendedDataSettings1_FWD_DEFINED__ */
- #ifndef __ID3D12DeviceRemovedExtendedDataSettings2_FWD_DEFINED__
- #define __ID3D12DeviceRemovedExtendedDataSettings2_FWD_DEFINED__
- typedef interface ID3D12DeviceRemovedExtendedDataSettings2 ID3D12DeviceRemovedExtendedDataSettings2;
- #endif /* __ID3D12DeviceRemovedExtendedDataSettings2_FWD_DEFINED__ */
- #ifndef __ID3D12DeviceRemovedExtendedData_FWD_DEFINED__
- #define __ID3D12DeviceRemovedExtendedData_FWD_DEFINED__
- typedef interface ID3D12DeviceRemovedExtendedData ID3D12DeviceRemovedExtendedData;
- #endif /* __ID3D12DeviceRemovedExtendedData_FWD_DEFINED__ */
- #ifndef __ID3D12DeviceRemovedExtendedData1_FWD_DEFINED__
- #define __ID3D12DeviceRemovedExtendedData1_FWD_DEFINED__
- typedef interface ID3D12DeviceRemovedExtendedData1 ID3D12DeviceRemovedExtendedData1;
- #endif /* __ID3D12DeviceRemovedExtendedData1_FWD_DEFINED__ */
- #ifndef __ID3D12DeviceRemovedExtendedData2_FWD_DEFINED__
- #define __ID3D12DeviceRemovedExtendedData2_FWD_DEFINED__
- typedef interface ID3D12DeviceRemovedExtendedData2 ID3D12DeviceRemovedExtendedData2;
- #endif /* __ID3D12DeviceRemovedExtendedData2_FWD_DEFINED__ */
- #ifndef __ID3D12Device6_FWD_DEFINED__
- #define __ID3D12Device6_FWD_DEFINED__
- typedef interface ID3D12Device6 ID3D12Device6;
- #endif /* __ID3D12Device6_FWD_DEFINED__ */
- #ifndef __ID3D12ProtectedResourceSession1_FWD_DEFINED__
- #define __ID3D12ProtectedResourceSession1_FWD_DEFINED__
- typedef interface ID3D12ProtectedResourceSession1 ID3D12ProtectedResourceSession1;
- #endif /* __ID3D12ProtectedResourceSession1_FWD_DEFINED__ */
- #ifndef __ID3D12Device7_FWD_DEFINED__
- #define __ID3D12Device7_FWD_DEFINED__
- typedef interface ID3D12Device7 ID3D12Device7;
- #endif /* __ID3D12Device7_FWD_DEFINED__ */
- #ifndef __ID3D12Device8_FWD_DEFINED__
- #define __ID3D12Device8_FWD_DEFINED__
- typedef interface ID3D12Device8 ID3D12Device8;
- #endif /* __ID3D12Device8_FWD_DEFINED__ */
- #ifndef __ID3D12Resource1_FWD_DEFINED__
- #define __ID3D12Resource1_FWD_DEFINED__
- typedef interface ID3D12Resource1 ID3D12Resource1;
- #endif /* __ID3D12Resource1_FWD_DEFINED__ */
- #ifndef __ID3D12Resource2_FWD_DEFINED__
- #define __ID3D12Resource2_FWD_DEFINED__
- typedef interface ID3D12Resource2 ID3D12Resource2;
- #endif /* __ID3D12Resource2_FWD_DEFINED__ */
- #ifndef __ID3D12Heap1_FWD_DEFINED__
- #define __ID3D12Heap1_FWD_DEFINED__
- typedef interface ID3D12Heap1 ID3D12Heap1;
- #endif /* __ID3D12Heap1_FWD_DEFINED__ */
- #ifndef __ID3D12GraphicsCommandList3_FWD_DEFINED__
- #define __ID3D12GraphicsCommandList3_FWD_DEFINED__
- typedef interface ID3D12GraphicsCommandList3 ID3D12GraphicsCommandList3;
- #endif /* __ID3D12GraphicsCommandList3_FWD_DEFINED__ */
- #ifndef __ID3D12MetaCommand_FWD_DEFINED__
- #define __ID3D12MetaCommand_FWD_DEFINED__
- typedef interface ID3D12MetaCommand ID3D12MetaCommand;
- #endif /* __ID3D12MetaCommand_FWD_DEFINED__ */
- #ifndef __ID3D12GraphicsCommandList4_FWD_DEFINED__
- #define __ID3D12GraphicsCommandList4_FWD_DEFINED__
- typedef interface ID3D12GraphicsCommandList4 ID3D12GraphicsCommandList4;
- #endif /* __ID3D12GraphicsCommandList4_FWD_DEFINED__ */
- #ifndef __ID3D12ShaderCacheSession_FWD_DEFINED__
- #define __ID3D12ShaderCacheSession_FWD_DEFINED__
- typedef interface ID3D12ShaderCacheSession ID3D12ShaderCacheSession;
- #endif /* __ID3D12ShaderCacheSession_FWD_DEFINED__ */
- #ifndef __ID3D12Device9_FWD_DEFINED__
- #define __ID3D12Device9_FWD_DEFINED__
- typedef interface ID3D12Device9 ID3D12Device9;
- #endif /* __ID3D12Device9_FWD_DEFINED__ */
- #ifndef __ID3D12Device10_FWD_DEFINED__
- #define __ID3D12Device10_FWD_DEFINED__
- typedef interface ID3D12Device10 ID3D12Device10;
- #endif /* __ID3D12Device10_FWD_DEFINED__ */
- #ifndef __ID3D12Device11_FWD_DEFINED__
- #define __ID3D12Device11_FWD_DEFINED__
- typedef interface ID3D12Device11 ID3D12Device11;
- #endif /* __ID3D12Device11_FWD_DEFINED__ */
- #ifndef __ID3D12Device12_FWD_DEFINED__
- #define __ID3D12Device12_FWD_DEFINED__
- typedef interface ID3D12Device12 ID3D12Device12;
- #endif /* __ID3D12Device12_FWD_DEFINED__ */
- #ifndef __ID3D12Device13_FWD_DEFINED__
- #define __ID3D12Device13_FWD_DEFINED__
- typedef interface ID3D12Device13 ID3D12Device13;
- #endif /* __ID3D12Device13_FWD_DEFINED__ */
- #ifndef __ID3D12VirtualizationGuestDevice_FWD_DEFINED__
- #define __ID3D12VirtualizationGuestDevice_FWD_DEFINED__
- typedef interface ID3D12VirtualizationGuestDevice ID3D12VirtualizationGuestDevice;
- #endif /* __ID3D12VirtualizationGuestDevice_FWD_DEFINED__ */
- #ifndef __ID3D12Tools_FWD_DEFINED__
- #define __ID3D12Tools_FWD_DEFINED__
- typedef interface ID3D12Tools ID3D12Tools;
- #endif /* __ID3D12Tools_FWD_DEFINED__ */
- #ifndef __ID3D12SDKConfiguration_FWD_DEFINED__
- #define __ID3D12SDKConfiguration_FWD_DEFINED__
- typedef interface ID3D12SDKConfiguration ID3D12SDKConfiguration;
- #endif /* __ID3D12SDKConfiguration_FWD_DEFINED__ */
- #ifndef __ID3D12SDKConfiguration1_FWD_DEFINED__
- #define __ID3D12SDKConfiguration1_FWD_DEFINED__
- typedef interface ID3D12SDKConfiguration1 ID3D12SDKConfiguration1;
- #endif /* __ID3D12SDKConfiguration1_FWD_DEFINED__ */
- #ifndef __ID3D12DeviceFactory_FWD_DEFINED__
- #define __ID3D12DeviceFactory_FWD_DEFINED__
- typedef interface ID3D12DeviceFactory ID3D12DeviceFactory;
- #endif /* __ID3D12DeviceFactory_FWD_DEFINED__ */
- #ifndef __ID3D12DeviceConfiguration_FWD_DEFINED__
- #define __ID3D12DeviceConfiguration_FWD_DEFINED__
- typedef interface ID3D12DeviceConfiguration ID3D12DeviceConfiguration;
- #endif /* __ID3D12DeviceConfiguration_FWD_DEFINED__ */
- #ifndef __ID3D12GraphicsCommandList5_FWD_DEFINED__
- #define __ID3D12GraphicsCommandList5_FWD_DEFINED__
- typedef interface ID3D12GraphicsCommandList5 ID3D12GraphicsCommandList5;
- #endif /* __ID3D12GraphicsCommandList5_FWD_DEFINED__ */
- #ifndef __ID3D12GraphicsCommandList6_FWD_DEFINED__
- #define __ID3D12GraphicsCommandList6_FWD_DEFINED__
- typedef interface ID3D12GraphicsCommandList6 ID3D12GraphicsCommandList6;
- #endif /* __ID3D12GraphicsCommandList6_FWD_DEFINED__ */
- #ifndef __ID3D12GraphicsCommandList7_FWD_DEFINED__
- #define __ID3D12GraphicsCommandList7_FWD_DEFINED__
- typedef interface ID3D12GraphicsCommandList7 ID3D12GraphicsCommandList7;
- #endif /* __ID3D12GraphicsCommandList7_FWD_DEFINED__ */
- #ifndef __ID3D12GraphicsCommandList8_FWD_DEFINED__
- #define __ID3D12GraphicsCommandList8_FWD_DEFINED__
- typedef interface ID3D12GraphicsCommandList8 ID3D12GraphicsCommandList8;
- #endif /* __ID3D12GraphicsCommandList8_FWD_DEFINED__ */
- #ifndef __ID3D12GraphicsCommandList9_FWD_DEFINED__
- #define __ID3D12GraphicsCommandList9_FWD_DEFINED__
- typedef interface ID3D12GraphicsCommandList9 ID3D12GraphicsCommandList9;
- #endif /* __ID3D12GraphicsCommandList9_FWD_DEFINED__ */
- /* header files for imported files */
- #include "oaidl.h"
- #include "ocidl.h"
- #include "dxgicommon.h"
- #include "dxgiformat.h"
- #include "d3dcommon.h"
- #ifdef __cplusplus
- extern "C"{
- #endif
- /* interface __MIDL_itf_d3d12_0000_0000 */
- /* [local] */
- #include <winapifamily.h>
- #pragma region App Family
- #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_GAMES)
- #ifndef _D3D12_CONSTANTS
- #define _D3D12_CONSTANTS
- #define D3D12_16BIT_INDEX_STRIP_CUT_VALUE ( 0xffff )
- #define D3D12_32BIT_INDEX_STRIP_CUT_VALUE ( 0xffffffff )
- #define D3D12_8BIT_INDEX_STRIP_CUT_VALUE ( 0xff )
- #define D3D12_APPEND_ALIGNED_ELEMENT ( 0xffffffff )
- #define D3D12_ARRAY_AXIS_ADDRESS_RANGE_BIT_COUNT ( 9 )
- #define D3D12_CLIP_OR_CULL_DISTANCE_COUNT ( 8 )
- #define D3D12_CLIP_OR_CULL_DISTANCE_ELEMENT_COUNT ( 2 )
- #define D3D12_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT ( 14 )
- #define D3D12_COMMONSHADER_CONSTANT_BUFFER_COMPONENTS ( 4 )
- #define D3D12_COMMONSHADER_CONSTANT_BUFFER_COMPONENT_BIT_COUNT ( 32 )
- #define D3D12_COMMONSHADER_CONSTANT_BUFFER_HW_SLOT_COUNT ( 15 )
- #define D3D12_COMMONSHADER_CONSTANT_BUFFER_PARTIAL_UPDATE_EXTENTS_BYTE_ALIGNMENT ( 16 )
- #define D3D12_COMMONSHADER_CONSTANT_BUFFER_REGISTER_COMPONENTS ( 4 )
- #define D3D12_COMMONSHADER_CONSTANT_BUFFER_REGISTER_COUNT ( 15 )
- #define D3D12_COMMONSHADER_CONSTANT_BUFFER_REGISTER_READS_PER_INST ( 1 )
- #define D3D12_COMMONSHADER_CONSTANT_BUFFER_REGISTER_READ_PORTS ( 1 )
- #define D3D12_COMMONSHADER_FLOWCONTROL_NESTING_LIMIT ( 64 )
- #define D3D12_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_COMPONENTS ( 4 )
- #define D3D12_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_COUNT ( 1 )
- #define D3D12_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_READS_PER_INST ( 1 )
- #define D3D12_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_READ_PORTS ( 1 )
- #define D3D12_COMMONSHADER_IMMEDIATE_VALUE_COMPONENT_BIT_COUNT ( 32 )
- #define D3D12_COMMONSHADER_INPUT_RESOURCE_REGISTER_COMPONENTS ( 1 )
- #define D3D12_COMMONSHADER_INPUT_RESOURCE_REGISTER_COUNT ( 128 )
- #define D3D12_COMMONSHADER_INPUT_RESOURCE_REGISTER_READS_PER_INST ( 1 )
- #define D3D12_COMMONSHADER_INPUT_RESOURCE_REGISTER_READ_PORTS ( 1 )
- #define D3D12_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT ( 128 )
- #define D3D12_COMMONSHADER_SAMPLER_REGISTER_COMPONENTS ( 1 )
- #define D3D12_COMMONSHADER_SAMPLER_REGISTER_COUNT ( 16 )
- #define D3D12_COMMONSHADER_SAMPLER_REGISTER_READS_PER_INST ( 1 )
- #define D3D12_COMMONSHADER_SAMPLER_REGISTER_READ_PORTS ( 1 )
- #define D3D12_COMMONSHADER_SAMPLER_SLOT_COUNT ( 16 )
- #define D3D12_COMMONSHADER_SUBROUTINE_NESTING_LIMIT ( 32 )
- #define D3D12_COMMONSHADER_TEMP_REGISTER_COMPONENTS ( 4 )
- #define D3D12_COMMONSHADER_TEMP_REGISTER_COMPONENT_BIT_COUNT ( 32 )
- #define D3D12_COMMONSHADER_TEMP_REGISTER_COUNT ( 4096 )
- #define D3D12_COMMONSHADER_TEMP_REGISTER_READS_PER_INST ( 3 )
- #define D3D12_COMMONSHADER_TEMP_REGISTER_READ_PORTS ( 3 )
- #define D3D12_COMMONSHADER_TEXCOORD_RANGE_REDUCTION_MAX ( 10 )
- #define D3D12_COMMONSHADER_TEXCOORD_RANGE_REDUCTION_MIN ( -10 )
- #define D3D12_COMMONSHADER_TEXEL_OFFSET_MAX_NEGATIVE ( -8 )
- #define D3D12_COMMONSHADER_TEXEL_OFFSET_MAX_POSITIVE ( 7 )
- #define D3D12_CONSTANT_BUFFER_DATA_PLACEMENT_ALIGNMENT ( 256 )
- #define D3D12_CS_4_X_BUCKET00_MAX_BYTES_TGSM_WRITABLE_PER_THREAD ( 256 )
- #define D3D12_CS_4_X_BUCKET00_MAX_NUM_THREADS_PER_GROUP ( 64 )
- #define D3D12_CS_4_X_BUCKET01_MAX_BYTES_TGSM_WRITABLE_PER_THREAD ( 240 )
- #define D3D12_CS_4_X_BUCKET01_MAX_NUM_THREADS_PER_GROUP ( 68 )
- #define D3D12_CS_4_X_BUCKET02_MAX_BYTES_TGSM_WRITABLE_PER_THREAD ( 224 )
- #define D3D12_CS_4_X_BUCKET02_MAX_NUM_THREADS_PER_GROUP ( 72 )
- #define D3D12_CS_4_X_BUCKET03_MAX_BYTES_TGSM_WRITABLE_PER_THREAD ( 208 )
- #define D3D12_CS_4_X_BUCKET03_MAX_NUM_THREADS_PER_GROUP ( 76 )
- #define D3D12_CS_4_X_BUCKET04_MAX_BYTES_TGSM_WRITABLE_PER_THREAD ( 192 )
- #define D3D12_CS_4_X_BUCKET04_MAX_NUM_THREADS_PER_GROUP ( 84 )
- #define D3D12_CS_4_X_BUCKET05_MAX_BYTES_TGSM_WRITABLE_PER_THREAD ( 176 )
- #define D3D12_CS_4_X_BUCKET05_MAX_NUM_THREADS_PER_GROUP ( 92 )
- #define D3D12_CS_4_X_BUCKET06_MAX_BYTES_TGSM_WRITABLE_PER_THREAD ( 160 )
- #define D3D12_CS_4_X_BUCKET06_MAX_NUM_THREADS_PER_GROUP ( 100 )
- #define D3D12_CS_4_X_BUCKET07_MAX_BYTES_TGSM_WRITABLE_PER_THREAD ( 144 )
- #define D3D12_CS_4_X_BUCKET07_MAX_NUM_THREADS_PER_GROUP ( 112 )
- #define D3D12_CS_4_X_BUCKET08_MAX_BYTES_TGSM_WRITABLE_PER_THREAD ( 128 )
- #define D3D12_CS_4_X_BUCKET08_MAX_NUM_THREADS_PER_GROUP ( 128 )
- #define D3D12_CS_4_X_BUCKET09_MAX_BYTES_TGSM_WRITABLE_PER_THREAD ( 112 )
- #define D3D12_CS_4_X_BUCKET09_MAX_NUM_THREADS_PER_GROUP ( 144 )
- #define D3D12_CS_4_X_BUCKET10_MAX_BYTES_TGSM_WRITABLE_PER_THREAD ( 96 )
- #define D3D12_CS_4_X_BUCKET10_MAX_NUM_THREADS_PER_GROUP ( 168 )
- #define D3D12_CS_4_X_BUCKET11_MAX_BYTES_TGSM_WRITABLE_PER_THREAD ( 80 )
- #define D3D12_CS_4_X_BUCKET11_MAX_NUM_THREADS_PER_GROUP ( 204 )
- #define D3D12_CS_4_X_BUCKET12_MAX_BYTES_TGSM_WRITABLE_PER_THREAD ( 64 )
- #define D3D12_CS_4_X_BUCKET12_MAX_NUM_THREADS_PER_GROUP ( 256 )
- #define D3D12_CS_4_X_BUCKET13_MAX_BYTES_TGSM_WRITABLE_PER_THREAD ( 48 )
- #define D3D12_CS_4_X_BUCKET13_MAX_NUM_THREADS_PER_GROUP ( 340 )
- #define D3D12_CS_4_X_BUCKET14_MAX_BYTES_TGSM_WRITABLE_PER_THREAD ( 32 )
- #define D3D12_CS_4_X_BUCKET14_MAX_NUM_THREADS_PER_GROUP ( 512 )
- #define D3D12_CS_4_X_BUCKET15_MAX_BYTES_TGSM_WRITABLE_PER_THREAD ( 16 )
- #define D3D12_CS_4_X_BUCKET15_MAX_NUM_THREADS_PER_GROUP ( 768 )
- #define D3D12_CS_4_X_DISPATCH_MAX_THREAD_GROUPS_IN_Z_DIMENSION ( 1 )
- #define D3D12_CS_4_X_RAW_UAV_BYTE_ALIGNMENT ( 256 )
- #define D3D12_CS_4_X_THREAD_GROUP_MAX_THREADS_PER_GROUP ( 768 )
- #define D3D12_CS_4_X_THREAD_GROUP_MAX_X ( 768 )
- #define D3D12_CS_4_X_THREAD_GROUP_MAX_Y ( 768 )
- #define D3D12_CS_4_X_UAV_REGISTER_COUNT ( 1 )
- #define D3D12_CS_DISPATCH_MAX_THREAD_GROUPS_PER_DIMENSION ( 65535 )
- #define D3D12_CS_TGSM_REGISTER_COUNT ( 8192 )
- #define D3D12_CS_TGSM_REGISTER_READS_PER_INST ( 1 )
- #define D3D12_CS_TGSM_RESOURCE_REGISTER_COMPONENTS ( 1 )
- #define D3D12_CS_TGSM_RESOURCE_REGISTER_READ_PORTS ( 1 )
- #define D3D12_CS_THREADGROUPID_REGISTER_COMPONENTS ( 3 )
- #define D3D12_CS_THREADGROUPID_REGISTER_COUNT ( 1 )
- #define D3D12_CS_THREADIDINGROUPFLATTENED_REGISTER_COMPONENTS ( 1 )
- #define D3D12_CS_THREADIDINGROUPFLATTENED_REGISTER_COUNT ( 1 )
- #define D3D12_CS_THREADIDINGROUP_REGISTER_COMPONENTS ( 3 )
- #define D3D12_CS_THREADIDINGROUP_REGISTER_COUNT ( 1 )
- #define D3D12_CS_THREADID_REGISTER_COMPONENTS ( 3 )
- #define D3D12_CS_THREADID_REGISTER_COUNT ( 1 )
- #define D3D12_CS_THREAD_GROUP_MAX_THREADS_PER_GROUP ( 1024 )
- #define D3D12_CS_THREAD_GROUP_MAX_X ( 1024 )
- #define D3D12_CS_THREAD_GROUP_MAX_Y ( 1024 )
- #define D3D12_CS_THREAD_GROUP_MAX_Z ( 64 )
- #define D3D12_CS_THREAD_GROUP_MIN_X ( 1 )
- #define D3D12_CS_THREAD_GROUP_MIN_Y ( 1 )
- #define D3D12_CS_THREAD_GROUP_MIN_Z ( 1 )
- #define D3D12_CS_THREAD_LOCAL_TEMP_REGISTER_POOL ( 16384 )
- #define D3D12_DEFAULT_BLEND_FACTOR_ALPHA ( 1.0f )
- #define D3D12_DEFAULT_BLEND_FACTOR_BLUE ( 1.0f )
- #define D3D12_DEFAULT_BLEND_FACTOR_GREEN ( 1.0f )
- #define D3D12_DEFAULT_BLEND_FACTOR_RED ( 1.0f )
- #define D3D12_DEFAULT_BORDER_COLOR_COMPONENT ( 0.0f )
- #define D3D12_DEFAULT_DEPTH_BIAS ( 0 )
- #define D3D12_DEFAULT_DEPTH_BIAS_CLAMP ( 0.0f )
- #define D3D12_DEFAULT_MAX_ANISOTROPY ( 16 )
- #define D3D12_DEFAULT_MIP_LOD_BIAS ( 0.0f )
- #define D3D12_DEFAULT_MSAA_RESOURCE_PLACEMENT_ALIGNMENT ( 4194304 )
- #define D3D12_DEFAULT_RENDER_TARGET_ARRAY_INDEX ( 0 )
- #define D3D12_DEFAULT_RESOURCE_PLACEMENT_ALIGNMENT ( 65536 )
- #define D3D12_DEFAULT_SAMPLE_MASK ( 0xffffffff )
- #define D3D12_DEFAULT_SCISSOR_ENDX ( 0 )
- #define D3D12_DEFAULT_SCISSOR_ENDY ( 0 )
- #define D3D12_DEFAULT_SCISSOR_STARTX ( 0 )
- #define D3D12_DEFAULT_SCISSOR_STARTY ( 0 )
- #define D3D12_DEFAULT_SLOPE_SCALED_DEPTH_BIAS ( 0.0f )
- #define D3D12_DEFAULT_STENCIL_READ_MASK ( 0xff )
- #define D3D12_DEFAULT_STENCIL_REFERENCE ( 0 )
- #define D3D12_DEFAULT_STENCIL_WRITE_MASK ( 0xff )
- #define D3D12_DEFAULT_VIEWPORT_AND_SCISSORRECT_INDEX ( 0 )
- #define D3D12_DEFAULT_VIEWPORT_HEIGHT ( 0 )
- #define D3D12_DEFAULT_VIEWPORT_MAX_DEPTH ( 0.0f )
- #define D3D12_DEFAULT_VIEWPORT_MIN_DEPTH ( 0.0f )
- #define D3D12_DEFAULT_VIEWPORT_TOPLEFTX ( 0 )
- #define D3D12_DEFAULT_VIEWPORT_TOPLEFTY ( 0 )
- #define D3D12_DEFAULT_VIEWPORT_WIDTH ( 0 )
- #define D3D12_DESCRIPTOR_RANGE_OFFSET_APPEND ( 0xffffffff )
- #define D3D12_DRIVER_RESERVED_REGISTER_SPACE_VALUES_END ( 0xfffffff7 )
- #define D3D12_DRIVER_RESERVED_REGISTER_SPACE_VALUES_START ( 0xfffffff0 )
- #define D3D12_DS_INPUT_CONTROL_POINTS_MAX_TOTAL_SCALARS ( 3968 )
- #define D3D12_DS_INPUT_CONTROL_POINT_REGISTER_COMPONENTS ( 4 )
- #define D3D12_DS_INPUT_CONTROL_POINT_REGISTER_COMPONENT_BIT_COUNT ( 32 )
- #define D3D12_DS_INPUT_CONTROL_POINT_REGISTER_COUNT ( 32 )
- #define D3D12_DS_INPUT_CONTROL_POINT_REGISTER_READS_PER_INST ( 2 )
- #define D3D12_DS_INPUT_CONTROL_POINT_REGISTER_READ_PORTS ( 1 )
- #define D3D12_DS_INPUT_DOMAIN_POINT_REGISTER_COMPONENTS ( 3 )
- #define D3D12_DS_INPUT_DOMAIN_POINT_REGISTER_COMPONENT_BIT_COUNT ( 32 )
- #define D3D12_DS_INPUT_DOMAIN_POINT_REGISTER_COUNT ( 1 )
- #define D3D12_DS_INPUT_DOMAIN_POINT_REGISTER_READS_PER_INST ( 2 )
- #define D3D12_DS_INPUT_DOMAIN_POINT_REGISTER_READ_PORTS ( 1 )
- #define D3D12_DS_INPUT_PATCH_CONSTANT_REGISTER_COMPONENTS ( 4 )
- #define D3D12_DS_INPUT_PATCH_CONSTANT_REGISTER_COMPONENT_BIT_COUNT ( 32 )
- #define D3D12_DS_INPUT_PATCH_CONSTANT_REGISTER_COUNT ( 32 )
- #define D3D12_DS_INPUT_PATCH_CONSTANT_REGISTER_READS_PER_INST ( 2 )
- #define D3D12_DS_INPUT_PATCH_CONSTANT_REGISTER_READ_PORTS ( 1 )
- #define D3D12_DS_INPUT_PRIMITIVE_ID_REGISTER_COMPONENTS ( 1 )
- #define D3D12_DS_INPUT_PRIMITIVE_ID_REGISTER_COMPONENT_BIT_COUNT ( 32 )
- #define D3D12_DS_INPUT_PRIMITIVE_ID_REGISTER_COUNT ( 1 )
- #define D3D12_DS_INPUT_PRIMITIVE_ID_REGISTER_READS_PER_INST ( 2 )
- #define D3D12_DS_INPUT_PRIMITIVE_ID_REGISTER_READ_PORTS ( 1 )
- #define D3D12_DS_OUTPUT_REGISTER_COMPONENTS ( 4 )
- #define D3D12_DS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT ( 32 )
- #define D3D12_DS_OUTPUT_REGISTER_COUNT ( 32 )
- #define D3D12_FLOAT16_FUSED_TOLERANCE_IN_ULP ( 0.6 )
- #define D3D12_FLOAT32_MAX ( 3.402823466e+38f )
- #define D3D12_FLOAT32_TO_INTEGER_TOLERANCE_IN_ULP ( 0.6f )
- #define D3D12_FLOAT_TO_SRGB_EXPONENT_DENOMINATOR ( 2.4f )
- #define D3D12_FLOAT_TO_SRGB_EXPONENT_NUMERATOR ( 1.0f )
- #define D3D12_FLOAT_TO_SRGB_OFFSET ( 0.055f )
- #define D3D12_FLOAT_TO_SRGB_SCALE_1 ( 12.92f )
- #define D3D12_FLOAT_TO_SRGB_SCALE_2 ( 1.055f )
- #define D3D12_FLOAT_TO_SRGB_THRESHOLD ( 0.0031308f )
- #define D3D12_FTOI_INSTRUCTION_MAX_INPUT ( 2147483647.999f )
- #define D3D12_FTOI_INSTRUCTION_MIN_INPUT ( -2147483648.999f )
- #define D3D12_FTOU_INSTRUCTION_MAX_INPUT ( 4294967295.999f )
- #define D3D12_FTOU_INSTRUCTION_MIN_INPUT ( 0.0f )
- #define D3D12_GS_INPUT_INSTANCE_ID_READS_PER_INST ( 2 )
- #define D3D12_GS_INPUT_INSTANCE_ID_READ_PORTS ( 1 )
- #define D3D12_GS_INPUT_INSTANCE_ID_REGISTER_COMPONENTS ( 1 )
- #define D3D12_GS_INPUT_INSTANCE_ID_REGISTER_COMPONENT_BIT_COUNT ( 32 )
- #define D3D12_GS_INPUT_INSTANCE_ID_REGISTER_COUNT ( 1 )
- #define D3D12_GS_INPUT_PRIM_CONST_REGISTER_COMPONENTS ( 1 )
- #define D3D12_GS_INPUT_PRIM_CONST_REGISTER_COMPONENT_BIT_COUNT ( 32 )
- #define D3D12_GS_INPUT_PRIM_CONST_REGISTER_COUNT ( 1 )
- #define D3D12_GS_INPUT_PRIM_CONST_REGISTER_READS_PER_INST ( 2 )
- #define D3D12_GS_INPUT_PRIM_CONST_REGISTER_READ_PORTS ( 1 )
- #define D3D12_GS_INPUT_REGISTER_COMPONENTS ( 4 )
- #define D3D12_GS_INPUT_REGISTER_COMPONENT_BIT_COUNT ( 32 )
- #define D3D12_GS_INPUT_REGISTER_COUNT ( 32 )
- #define D3D12_GS_INPUT_REGISTER_READS_PER_INST ( 2 )
- #define D3D12_GS_INPUT_REGISTER_READ_PORTS ( 1 )
- #define D3D12_GS_INPUT_REGISTER_VERTICES ( 32 )
- #define D3D12_GS_MAX_INSTANCE_COUNT ( 32 )
- #define D3D12_GS_MAX_OUTPUT_VERTEX_COUNT_ACROSS_INSTANCES ( 1024 )
- #define D3D12_GS_OUTPUT_ELEMENTS ( 32 )
- #define D3D12_GS_OUTPUT_REGISTER_COMPONENTS ( 4 )
- #define D3D12_GS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT ( 32 )
- #define D3D12_GS_OUTPUT_REGISTER_COUNT ( 32 )
- #define D3D12_HS_CONTROL_POINT_PHASE_INPUT_REGISTER_COUNT ( 32 )
- #define D3D12_HS_CONTROL_POINT_PHASE_OUTPUT_REGISTER_COUNT ( 32 )
- #define D3D12_HS_CONTROL_POINT_REGISTER_COMPONENTS ( 4 )
- #define D3D12_HS_CONTROL_POINT_REGISTER_COMPONENT_BIT_COUNT ( 32 )
- #define D3D12_HS_CONTROL_POINT_REGISTER_READS_PER_INST ( 2 )
- #define D3D12_HS_CONTROL_POINT_REGISTER_READ_PORTS ( 1 )
- #define D3D12_HS_FORK_PHASE_INSTANCE_COUNT_UPPER_BOUND ( 0xffffffff )
- #define D3D12_HS_INPUT_FORK_INSTANCE_ID_REGISTER_COMPONENTS ( 1 )
- #define D3D12_HS_INPUT_FORK_INSTANCE_ID_REGISTER_COMPONENT_BIT_COUNT ( 32 )
- #define D3D12_HS_INPUT_FORK_INSTANCE_ID_REGISTER_COUNT ( 1 )
- #define D3D12_HS_INPUT_FORK_INSTANCE_ID_REGISTER_READS_PER_INST ( 2 )
- #define D3D12_HS_INPUT_FORK_INSTANCE_ID_REGISTER_READ_PORTS ( 1 )
- #define D3D12_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_COMPONENTS ( 1 )
- #define D3D12_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_COMPONENT_BIT_COUNT ( 32 )
- #define D3D12_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_COUNT ( 1 )
- #define D3D12_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_READS_PER_INST ( 2 )
- #define D3D12_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_READ_PORTS ( 1 )
- #define D3D12_HS_INPUT_PRIMITIVE_ID_REGISTER_COMPONENTS ( 1 )
- #define D3D12_HS_INPUT_PRIMITIVE_ID_REGISTER_COMPONENT_BIT_COUNT ( 32 )
- #define D3D12_HS_INPUT_PRIMITIVE_ID_REGISTER_COUNT ( 1 )
- #define D3D12_HS_INPUT_PRIMITIVE_ID_REGISTER_READS_PER_INST ( 2 )
- #define D3D12_HS_INPUT_PRIMITIVE_ID_REGISTER_READ_PORTS ( 1 )
- #define D3D12_HS_JOIN_PHASE_INSTANCE_COUNT_UPPER_BOUND ( 0xffffffff )
- #define D3D12_HS_MAXTESSFACTOR_LOWER_BOUND ( 1.0f )
- #define D3D12_HS_MAXTESSFACTOR_UPPER_BOUND ( 64.0f )
- #define D3D12_HS_OUTPUT_CONTROL_POINTS_MAX_TOTAL_SCALARS ( 3968 )
- #define D3D12_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_COMPONENTS ( 1 )
- #define D3D12_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_COMPONENT_BIT_COUNT ( 32 )
- #define D3D12_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_COUNT ( 1 )
- #define D3D12_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_READS_PER_INST ( 2 )
- #define D3D12_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_READ_PORTS ( 1 )
- #define D3D12_HS_OUTPUT_PATCH_CONSTANT_REGISTER_COMPONENTS ( 4 )
- #define D3D12_HS_OUTPUT_PATCH_CONSTANT_REGISTER_COMPONENT_BIT_COUNT ( 32 )
- #define D3D12_HS_OUTPUT_PATCH_CONSTANT_REGISTER_COUNT ( 32 )
- #define D3D12_HS_OUTPUT_PATCH_CONSTANT_REGISTER_READS_PER_INST ( 2 )
- #define D3D12_HS_OUTPUT_PATCH_CONSTANT_REGISTER_READ_PORTS ( 1 )
- #define D3D12_HS_OUTPUT_PATCH_CONSTANT_REGISTER_SCALAR_COMPONENTS ( 128 )
- #define D3D12_IA_DEFAULT_INDEX_BUFFER_OFFSET_IN_BYTES ( 0 )
- #define D3D12_IA_DEFAULT_PRIMITIVE_TOPOLOGY ( 0 )
- #define D3D12_IA_DEFAULT_VERTEX_BUFFER_OFFSET_IN_BYTES ( 0 )
- #define D3D12_IA_INDEX_INPUT_RESOURCE_SLOT_COUNT ( 1 )
- #define D3D12_IA_INSTANCE_ID_BIT_COUNT ( 32 )
- #define D3D12_IA_INTEGER_ARITHMETIC_BIT_COUNT ( 32 )
- #define D3D12_IA_PATCH_MAX_CONTROL_POINT_COUNT ( 32 )
- #define D3D12_IA_PRIMITIVE_ID_BIT_COUNT ( 32 )
- #define D3D12_IA_VERTEX_ID_BIT_COUNT ( 32 )
- #define D3D12_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT ( 32 )
- #define D3D12_IA_VERTEX_INPUT_STRUCTURE_ELEMENTS_COMPONENTS ( 128 )
- #define D3D12_IA_VERTEX_INPUT_STRUCTURE_ELEMENT_COUNT ( 32 )
- #define D3D12_INTEGER_DIVIDE_BY_ZERO_QUOTIENT ( 0xffffffff )
- #define D3D12_INTEGER_DIVIDE_BY_ZERO_REMAINDER ( 0xffffffff )
- #define D3D12_KEEP_RENDER_TARGETS_AND_DEPTH_STENCIL ( 0xffffffff )
- #define D3D12_KEEP_UNORDERED_ACCESS_VIEWS ( 0xffffffff )
- #define D3D12_LINEAR_GAMMA ( 1.0f )
- #define D3D12_MAJOR_VERSION ( 12 )
- #define D3D12_MAX_BORDER_COLOR_COMPONENT ( 1.0f )
- #define D3D12_MAX_DEPTH ( 1.0f )
- #define D3D12_MAX_LIVE_STATIC_SAMPLERS ( 2032 )
- #define D3D12_MAX_MAXANISOTROPY ( 16 )
- #define D3D12_MAX_MULTISAMPLE_SAMPLE_COUNT ( 32 )
- #define D3D12_MAX_POSITION_VALUE ( 3.402823466e+34f )
- #define D3D12_MAX_ROOT_COST ( 64 )
- #define D3D12_MAX_SHADER_VISIBLE_DESCRIPTOR_HEAP_SIZE_TIER_1 ( 1000000 )
- #define D3D12_MAX_SHADER_VISIBLE_DESCRIPTOR_HEAP_SIZE_TIER_2 ( 1000000 )
- #define D3D12_MAX_SHADER_VISIBLE_SAMPLER_HEAP_SIZE ( 2048 )
- #define D3D12_MAX_TEXTURE_DIMENSION_2_TO_EXP ( 17 )
- #define D3D12_MAX_VIEW_INSTANCE_COUNT ( 4 )
- #define D3D12_MINOR_VERSION ( 0 )
- #define D3D12_MIN_BORDER_COLOR_COMPONENT ( 0.0f )
- #define D3D12_MIN_DEPTH ( 0.0f )
- #define D3D12_MIN_MAXANISOTROPY ( 0 )
- #define D3D12_MIP_LOD_BIAS_MAX ( 15.99f )
- #define D3D12_MIP_LOD_BIAS_MIN ( -16.0f )
- #define D3D12_MIP_LOD_FRACTIONAL_BIT_COUNT ( 8 )
- #define D3D12_MIP_LOD_RANGE_BIT_COUNT ( 8 )
- #define D3D12_MULTISAMPLE_ANTIALIAS_LINE_WIDTH ( 1.4f )
- #define D3D12_NONSAMPLE_FETCH_OUT_OF_RANGE_ACCESS_RESULT ( 0 )
- #define D3D12_OS_RESERVED_REGISTER_SPACE_VALUES_END ( 0xffffffff )
- #define D3D12_OS_RESERVED_REGISTER_SPACE_VALUES_START ( 0xfffffff8 )
- #define D3D12_PACKED_TILE ( 0xffffffff )
- #define D3D12_PIXEL_ADDRESS_RANGE_BIT_COUNT ( 15 )
- #define D3D12_PREVIEW_SDK_VERSION ( 712 )
- #define D3D12_PRE_SCISSOR_PIXEL_ADDRESS_RANGE_BIT_COUNT ( 16 )
- #define D3D12_PS_CS_UAV_REGISTER_COMPONENTS ( 1 )
- #define D3D12_PS_CS_UAV_REGISTER_COUNT ( 8 )
- #define D3D12_PS_CS_UAV_REGISTER_READS_PER_INST ( 1 )
- #define D3D12_PS_CS_UAV_REGISTER_READ_PORTS ( 1 )
- #define D3D12_PS_FRONTFACING_DEFAULT_VALUE ( 0xffffffff )
- #define D3D12_PS_FRONTFACING_FALSE_VALUE ( 0 )
- #define D3D12_PS_FRONTFACING_TRUE_VALUE ( 0xffffffff )
- #define D3D12_PS_INPUT_REGISTER_COMPONENTS ( 4 )
- #define D3D12_PS_INPUT_REGISTER_COMPONENT_BIT_COUNT ( 32 )
- #define D3D12_PS_INPUT_REGISTER_COUNT ( 32 )
- #define D3D12_PS_INPUT_REGISTER_READS_PER_INST ( 2 )
- #define D3D12_PS_INPUT_REGISTER_READ_PORTS ( 1 )
- #define D3D12_PS_LEGACY_PIXEL_CENTER_FRACTIONAL_COMPONENT ( 0.0f )
- #define D3D12_PS_OUTPUT_DEPTH_REGISTER_COMPONENTS ( 1 )
- #define D3D12_PS_OUTPUT_DEPTH_REGISTER_COMPONENT_BIT_COUNT ( 32 )
- #define D3D12_PS_OUTPUT_DEPTH_REGISTER_COUNT ( 1 )
- #define D3D12_PS_OUTPUT_MASK_REGISTER_COMPONENTS ( 1 )
- #define D3D12_PS_OUTPUT_MASK_REGISTER_COMPONENT_BIT_COUNT ( 32 )
- #define D3D12_PS_OUTPUT_MASK_REGISTER_COUNT ( 1 )
- #define D3D12_PS_OUTPUT_REGISTER_COMPONENTS ( 4 )
- #define D3D12_PS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT ( 32 )
- #define D3D12_PS_OUTPUT_REGISTER_COUNT ( 8 )
- #define D3D12_PS_PIXEL_CENTER_FRACTIONAL_COMPONENT ( 0.5f )
- #define D3D12_RAW_UAV_SRV_BYTE_ALIGNMENT ( 16 )
- #define D3D12_RAYTRACING_AABB_BYTE_ALIGNMENT ( 8 )
- #define D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BYTE_ALIGNMENT ( 256 )
- #define D3D12_RAYTRACING_INSTANCE_DESCS_BYTE_ALIGNMENT ( 16 )
- #define D3D12_RAYTRACING_MAX_ATTRIBUTE_SIZE_IN_BYTES ( 32 )
- #define D3D12_RAYTRACING_MAX_DECLARABLE_TRACE_RECURSION_DEPTH ( 31 )
- #define D3D12_RAYTRACING_MAX_GEOMETRIES_PER_BOTTOM_LEVEL_ACCELERATION_STRUCTURE ( 16777216 )
- #define D3D12_RAYTRACING_MAX_INSTANCES_PER_TOP_LEVEL_ACCELERATION_STRUCTURE ( 16777216 )
- #define D3D12_RAYTRACING_MAX_PRIMITIVES_PER_BOTTOM_LEVEL_ACCELERATION_STRUCTURE ( 536870912 )
- #define D3D12_RAYTRACING_MAX_RAY_GENERATION_SHADER_THREADS ( 1073741824 )
- #define D3D12_RAYTRACING_MAX_SHADER_RECORD_STRIDE ( 4096 )
- #define D3D12_RAYTRACING_SHADER_RECORD_BYTE_ALIGNMENT ( 32 )
- #define D3D12_RAYTRACING_SHADER_TABLE_BYTE_ALIGNMENT ( 64 )
- #define D3D12_RAYTRACING_TRANSFORM3X4_BYTE_ALIGNMENT ( 16 )
- #define D3D12_REQ_BLEND_OBJECT_COUNT_PER_DEVICE ( 4096 )
- #define D3D12_REQ_BUFFER_RESOURCE_TEXEL_COUNT_2_TO_EXP ( 27 )
- #define D3D12_REQ_CONSTANT_BUFFER_ELEMENT_COUNT ( 4096 )
- #define D3D12_REQ_DEPTH_STENCIL_OBJECT_COUNT_PER_DEVICE ( 4096 )
- #define D3D12_REQ_DRAWINDEXED_INDEX_COUNT_2_TO_EXP ( 32 )
- #define D3D12_REQ_DRAW_VERTEX_COUNT_2_TO_EXP ( 32 )
- #define D3D12_REQ_FILTERING_HW_ADDRESSABLE_RESOURCE_DIMENSION ( 16384 )
- #define D3D12_REQ_GS_INVOCATION_32BIT_OUTPUT_COMPONENT_LIMIT ( 1024 )
- #define D3D12_REQ_IMMEDIATE_CONSTANT_BUFFER_ELEMENT_COUNT ( 4096 )
- #define D3D12_REQ_MAXANISOTROPY ( 16 )
- #define D3D12_REQ_MIP_LEVELS ( 15 )
- #define D3D12_REQ_MULTI_ELEMENT_STRUCTURE_SIZE_IN_BYTES ( 2048 )
- #define D3D12_REQ_RASTERIZER_OBJECT_COUNT_PER_DEVICE ( 4096 )
- #define D3D12_REQ_RENDER_TO_BUFFER_WINDOW_WIDTH ( 16384 )
- #define D3D12_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_A_TERM ( 128 )
- #define D3D12_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_B_TERM ( 0.25f )
- #define D3D12_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_C_TERM ( 2048 )
- #define D3D12_REQ_RESOURCE_VIEW_COUNT_PER_DEVICE_2_TO_EXP ( 20 )
- #define D3D12_REQ_SAMPLER_OBJECT_COUNT_PER_DEVICE ( 4096 )
- #define D3D12_REQ_SUBRESOURCES ( 30720 )
- #define D3D12_REQ_TEXTURE1D_ARRAY_AXIS_DIMENSION ( 2048 )
- #define D3D12_REQ_TEXTURE1D_U_DIMENSION ( 16384 )
- #define D3D12_REQ_TEXTURE2D_ARRAY_AXIS_DIMENSION ( 2048 )
- #define D3D12_REQ_TEXTURE2D_U_OR_V_DIMENSION ( 16384 )
- #define D3D12_REQ_TEXTURE3D_U_V_OR_W_DIMENSION ( 2048 )
- #define D3D12_REQ_TEXTURECUBE_DIMENSION ( 16384 )
- #define D3D12_RESINFO_INSTRUCTION_MISSING_COMPONENT_RETVAL ( 0 )
- #define D3D12_RESOURCE_BARRIER_ALL_SUBRESOURCES ( 0xffffffff )
- #define D3D12_RS_SET_SHADING_RATE_COMBINER_COUNT ( 2 )
- #define D3D12_SDK_VERSION ( 611 )
- #define D3D12_SHADER_IDENTIFIER_SIZE_IN_BYTES ( 32 )
- #define D3D12_SHADER_MAJOR_VERSION ( 5 )
- #define D3D12_SHADER_MAX_INSTANCES ( 65535 )
- #define D3D12_SHADER_MAX_INTERFACES ( 253 )
- #define D3D12_SHADER_MAX_INTERFACE_CALL_SITES ( 4096 )
- #define D3D12_SHADER_MAX_TYPES ( 65535 )
- #define D3D12_SHADER_MINOR_VERSION ( 1 )
- #define D3D12_SHIFT_INSTRUCTION_PAD_VALUE ( 0 )
- #define D3D12_SHIFT_INSTRUCTION_SHIFT_VALUE_BIT_COUNT ( 5 )
- #define D3D12_SIMULTANEOUS_RENDER_TARGET_COUNT ( 8 )
- #define D3D12_SMALL_MSAA_RESOURCE_PLACEMENT_ALIGNMENT ( 65536 )
- #define D3D12_SMALL_RESOURCE_PLACEMENT_ALIGNMENT ( 4096 )
- #define D3D12_SO_BUFFER_MAX_STRIDE_IN_BYTES ( 2048 )
- #define D3D12_SO_BUFFER_MAX_WRITE_WINDOW_IN_BYTES ( 512 )
- #define D3D12_SO_BUFFER_SLOT_COUNT ( 4 )
- #define D3D12_SO_DDI_REGISTER_INDEX_DENOTING_GAP ( 0xffffffff )
- #define D3D12_SO_NO_RASTERIZED_STREAM ( 0xffffffff )
- #define D3D12_SO_OUTPUT_COMPONENT_COUNT ( 128 )
- #define D3D12_SO_STREAM_COUNT ( 4 )
- #define D3D12_SPEC_DATE_DAY ( 14 )
- #define D3D12_SPEC_DATE_MONTH ( 11 )
- #define D3D12_SPEC_DATE_YEAR ( 2014 )
- #define D3D12_SPEC_VERSION ( 1.16 )
- #define D3D12_SRGB_GAMMA ( 2.2f )
- #define D3D12_SRGB_TO_FLOAT_DENOMINATOR_1 ( 12.92f )
- #define D3D12_SRGB_TO_FLOAT_DENOMINATOR_2 ( 1.055f )
- #define D3D12_SRGB_TO_FLOAT_EXPONENT ( 2.4f )
- #define D3D12_SRGB_TO_FLOAT_OFFSET ( 0.055f )
- #define D3D12_SRGB_TO_FLOAT_THRESHOLD ( 0.04045f )
- #define D3D12_SRGB_TO_FLOAT_TOLERANCE_IN_ULP ( 0.5f )
- #define D3D12_STANDARD_COMPONENT_BIT_COUNT ( 32 )
- #define D3D12_STANDARD_COMPONENT_BIT_COUNT_DOUBLED ( 64 )
- #define D3D12_STANDARD_MAXIMUM_ELEMENT_ALIGNMENT_BYTE_MULTIPLE ( 4 )
- #define D3D12_STANDARD_PIXEL_COMPONENT_COUNT ( 128 )
- #define D3D12_STANDARD_PIXEL_ELEMENT_COUNT ( 32 )
- #define D3D12_STANDARD_VECTOR_SIZE ( 4 )
- #define D3D12_STANDARD_VERTEX_ELEMENT_COUNT ( 32 )
- #define D3D12_STANDARD_VERTEX_TOTAL_COMPONENT_COUNT ( 64 )
- #define D3D12_SUBPIXEL_FRACTIONAL_BIT_COUNT ( 8 )
- #define D3D12_SUBTEXEL_FRACTIONAL_BIT_COUNT ( 8 )
- #define D3D12_SYSTEM_RESERVED_REGISTER_SPACE_VALUES_END ( 0xffffffff )
- #define D3D12_SYSTEM_RESERVED_REGISTER_SPACE_VALUES_START ( 0xfffffff0 )
- #define D3D12_TESSELLATOR_MAX_EVEN_TESSELLATION_FACTOR ( 64 )
- #define D3D12_TESSELLATOR_MAX_ISOLINE_DENSITY_TESSELLATION_FACTOR ( 64 )
- #define D3D12_TESSELLATOR_MAX_ODD_TESSELLATION_FACTOR ( 63 )
- #define D3D12_TESSELLATOR_MAX_TESSELLATION_FACTOR ( 64 )
- #define D3D12_TESSELLATOR_MIN_EVEN_TESSELLATION_FACTOR ( 2 )
- #define D3D12_TESSELLATOR_MIN_ISOLINE_DENSITY_TESSELLATION_FACTOR ( 1 )
- #define D3D12_TESSELLATOR_MIN_ODD_TESSELLATION_FACTOR ( 1 )
- #define D3D12_TEXEL_ADDRESS_RANGE_BIT_COUNT ( 16 )
- #define D3D12_TEXTURE_DATA_PITCH_ALIGNMENT ( 256 )
- #define D3D12_TEXTURE_DATA_PLACEMENT_ALIGNMENT ( 512 )
- #define D3D12_TILED_RESOURCE_TILE_SIZE_IN_BYTES ( 65536 )
- #define D3D12_TRACKED_WORKLOAD_MAX_INSTANCES ( 32 )
- #define D3D12_UAV_COUNTER_PLACEMENT_ALIGNMENT ( 4096 )
- #define D3D12_UAV_SLOT_COUNT ( 64 )
- #define D3D12_UNBOUND_MEMORY_ACCESS_RESULT ( 0 )
- #define D3D12_VIDEO_DECODE_MAX_ARGUMENTS ( 10 )
- #define D3D12_VIDEO_DECODE_MAX_HISTOGRAM_COMPONENTS ( 4 )
- #define D3D12_VIDEO_DECODE_MIN_BITSTREAM_OFFSET_ALIGNMENT ( 256 )
- #define D3D12_VIDEO_DECODE_MIN_HISTOGRAM_OFFSET_ALIGNMENT ( 256 )
- #define D3D12_VIDEO_DECODE_STATUS_MACROBLOCKS_AFFECTED_UNKNOWN ( 0xffffffff )
- #define D3D12_VIDEO_ENCODER_AV1_INVALID_DPB_RESOURCE_INDEX ( 0xff )
- #define D3D12_VIDEO_ENCODER_AV1_MAX_TILE_COLS ( 64 )
- #define D3D12_VIDEO_ENCODER_AV1_MAX_TILE_ROWS ( 64 )
- #define D3D12_VIDEO_ENCODER_AV1_SUPERRES_DENOM_MIN ( 9 )
- #define D3D12_VIDEO_ENCODER_AV1_SUPERRES_NUM ( 8 )
- #define D3D12_VIDEO_PROCESS_MAX_FILTERS ( 32 )
- #define D3D12_VIDEO_PROCESS_STEREO_VIEWS ( 2 )
- #define D3D12_VIEWPORT_AND_SCISSORRECT_MAX_INDEX ( 15 )
- #define D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE ( 16 )
- #define D3D12_VIEWPORT_BOUNDS_MAX ( 32767 )
- #define D3D12_VIEWPORT_BOUNDS_MIN ( -32768 )
- #define D3D12_VS_INPUT_REGISTER_COMPONENTS ( 4 )
- #define D3D12_VS_INPUT_REGISTER_COMPONENT_BIT_COUNT ( 32 )
- #define D3D12_VS_INPUT_REGISTER_COUNT ( 32 )
- #define D3D12_VS_INPUT_REGISTER_READS_PER_INST ( 2 )
- #define D3D12_VS_INPUT_REGISTER_READ_PORTS ( 1 )
- #define D3D12_VS_OUTPUT_REGISTER_COMPONENTS ( 4 )
- #define D3D12_VS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT ( 32 )
- #define D3D12_VS_OUTPUT_REGISTER_COUNT ( 32 )
- #define D3D12_WHQL_CONTEXT_COUNT_FOR_RESOURCE_LIMIT ( 10 )
- #define D3D12_WHQL_DRAWINDEXED_INDEX_COUNT_2_TO_EXP ( 25 )
- #define D3D12_WHQL_DRAW_VERTEX_COUNT_2_TO_EXP ( 25 )
- #endif
- typedef UINT64 D3D12_GPU_VIRTUAL_ADDRESS;
- typedef
- enum D3D12_COMMAND_LIST_TYPE
- {
- D3D12_COMMAND_LIST_TYPE_DIRECT = 0,
- D3D12_COMMAND_LIST_TYPE_BUNDLE = 1,
- D3D12_COMMAND_LIST_TYPE_COMPUTE = 2,
- D3D12_COMMAND_LIST_TYPE_COPY = 3,
- D3D12_COMMAND_LIST_TYPE_VIDEO_DECODE = 4,
- D3D12_COMMAND_LIST_TYPE_VIDEO_PROCESS = 5,
- D3D12_COMMAND_LIST_TYPE_VIDEO_ENCODE = 6,
- D3D12_COMMAND_LIST_TYPE_NONE = -1
- } D3D12_COMMAND_LIST_TYPE;
- typedef
- enum D3D12_COMMAND_QUEUE_FLAGS
- {
- D3D12_COMMAND_QUEUE_FLAG_NONE = 0,
- D3D12_COMMAND_QUEUE_FLAG_DISABLE_GPU_TIMEOUT = 0x1
- } D3D12_COMMAND_QUEUE_FLAGS;
- DEFINE_ENUM_FLAG_OPERATORS( D3D12_COMMAND_QUEUE_FLAGS );
- typedef
- enum D3D12_COMMAND_QUEUE_PRIORITY
- {
- D3D12_COMMAND_QUEUE_PRIORITY_NORMAL = 0,
- D3D12_COMMAND_QUEUE_PRIORITY_HIGH = 100,
- D3D12_COMMAND_QUEUE_PRIORITY_GLOBAL_REALTIME = 10000
- } D3D12_COMMAND_QUEUE_PRIORITY;
- typedef struct D3D12_COMMAND_QUEUE_DESC
- {
- D3D12_COMMAND_LIST_TYPE Type;
- INT Priority;
- D3D12_COMMAND_QUEUE_FLAGS Flags;
- UINT NodeMask;
- } D3D12_COMMAND_QUEUE_DESC;
- typedef
- enum D3D12_PRIMITIVE_TOPOLOGY_TYPE
- {
- D3D12_PRIMITIVE_TOPOLOGY_TYPE_UNDEFINED = 0,
- D3D12_PRIMITIVE_TOPOLOGY_TYPE_POINT = 1,
- D3D12_PRIMITIVE_TOPOLOGY_TYPE_LINE = 2,
- D3D12_PRIMITIVE_TOPOLOGY_TYPE_TRIANGLE = 3,
- D3D12_PRIMITIVE_TOPOLOGY_TYPE_PATCH = 4
- } D3D12_PRIMITIVE_TOPOLOGY_TYPE;
- typedef
- enum D3D12_INPUT_CLASSIFICATION
- {
- D3D12_INPUT_CLASSIFICATION_PER_VERTEX_DATA = 0,
- D3D12_INPUT_CLASSIFICATION_PER_INSTANCE_DATA = 1
- } D3D12_INPUT_CLASSIFICATION;
- typedef struct D3D12_INPUT_ELEMENT_DESC
- {
- LPCSTR SemanticName;
- UINT SemanticIndex;
- DXGI_FORMAT Format;
- UINT InputSlot;
- UINT AlignedByteOffset;
- D3D12_INPUT_CLASSIFICATION InputSlotClass;
- UINT InstanceDataStepRate;
- } D3D12_INPUT_ELEMENT_DESC;
- typedef
- enum D3D12_FILL_MODE
- {
- D3D12_FILL_MODE_WIREFRAME = 2,
- D3D12_FILL_MODE_SOLID = 3
- } D3D12_FILL_MODE;
- typedef D3D_PRIMITIVE_TOPOLOGY D3D12_PRIMITIVE_TOPOLOGY;
- typedef D3D_PRIMITIVE D3D12_PRIMITIVE;
- typedef
- enum D3D12_CULL_MODE
- {
- D3D12_CULL_MODE_NONE = 1,
- D3D12_CULL_MODE_FRONT = 2,
- D3D12_CULL_MODE_BACK = 3
- } D3D12_CULL_MODE;
- typedef struct D3D12_SO_DECLARATION_ENTRY
- {
- UINT Stream;
- LPCSTR SemanticName;
- UINT SemanticIndex;
- BYTE StartComponent;
- BYTE ComponentCount;
- BYTE OutputSlot;
- } D3D12_SO_DECLARATION_ENTRY;
- typedef struct D3D12_VIEWPORT
- {
- FLOAT TopLeftX;
- FLOAT TopLeftY;
- FLOAT Width;
- FLOAT Height;
- FLOAT MinDepth;
- FLOAT MaxDepth;
- } D3D12_VIEWPORT;
- typedef RECT D3D12_RECT;
- typedef struct D3D12_BOX
- {
- UINT left;
- UINT top;
- UINT front;
- UINT right;
- UINT bottom;
- UINT back;
- } D3D12_BOX;
- typedef
- enum D3D12_COMPARISON_FUNC
- {
- D3D12_COMPARISON_FUNC_NONE = 0,
- D3D12_COMPARISON_FUNC_NEVER = 1,
- D3D12_COMPARISON_FUNC_LESS = 2,
- D3D12_COMPARISON_FUNC_EQUAL = 3,
- D3D12_COMPARISON_FUNC_LESS_EQUAL = 4,
- D3D12_COMPARISON_FUNC_GREATER = 5,
- D3D12_COMPARISON_FUNC_NOT_EQUAL = 6,
- D3D12_COMPARISON_FUNC_GREATER_EQUAL = 7,
- D3D12_COMPARISON_FUNC_ALWAYS = 8
- } D3D12_COMPARISON_FUNC;
- typedef
- enum D3D12_DEPTH_WRITE_MASK
- {
- D3D12_DEPTH_WRITE_MASK_ZERO = 0,
- D3D12_DEPTH_WRITE_MASK_ALL = 1
- } D3D12_DEPTH_WRITE_MASK;
- typedef
- enum D3D12_STENCIL_OP
- {
- D3D12_STENCIL_OP_KEEP = 1,
- D3D12_STENCIL_OP_ZERO = 2,
- D3D12_STENCIL_OP_REPLACE = 3,
- D3D12_STENCIL_OP_INCR_SAT = 4,
- D3D12_STENCIL_OP_DECR_SAT = 5,
- D3D12_STENCIL_OP_INVERT = 6,
- D3D12_STENCIL_OP_INCR = 7,
- D3D12_STENCIL_OP_DECR = 8
- } D3D12_STENCIL_OP;
- typedef struct D3D12_DEPTH_STENCILOP_DESC
- {
- D3D12_STENCIL_OP StencilFailOp;
- D3D12_STENCIL_OP StencilDepthFailOp;
- D3D12_STENCIL_OP StencilPassOp;
- D3D12_COMPARISON_FUNC StencilFunc;
- } D3D12_DEPTH_STENCILOP_DESC;
- typedef struct D3D12_DEPTH_STENCIL_DESC
- {
- BOOL DepthEnable;
- D3D12_DEPTH_WRITE_MASK DepthWriteMask;
- D3D12_COMPARISON_FUNC DepthFunc;
- BOOL StencilEnable;
- UINT8 StencilReadMask;
- UINT8 StencilWriteMask;
- D3D12_DEPTH_STENCILOP_DESC FrontFace;
- D3D12_DEPTH_STENCILOP_DESC BackFace;
- } D3D12_DEPTH_STENCIL_DESC;
- typedef struct D3D12_DEPTH_STENCIL_DESC1
- {
- BOOL DepthEnable;
- D3D12_DEPTH_WRITE_MASK DepthWriteMask;
- D3D12_COMPARISON_FUNC DepthFunc;
- BOOL StencilEnable;
- UINT8 StencilReadMask;
- UINT8 StencilWriteMask;
- D3D12_DEPTH_STENCILOP_DESC FrontFace;
- D3D12_DEPTH_STENCILOP_DESC BackFace;
- BOOL DepthBoundsTestEnable;
- } D3D12_DEPTH_STENCIL_DESC1;
- typedef struct D3D12_DEPTH_STENCILOP_DESC1
- {
- D3D12_STENCIL_OP StencilFailOp;
- D3D12_STENCIL_OP StencilDepthFailOp;
- D3D12_STENCIL_OP StencilPassOp;
- D3D12_COMPARISON_FUNC StencilFunc;
- UINT8 StencilReadMask;
- UINT8 StencilWriteMask;
- } D3D12_DEPTH_STENCILOP_DESC1;
- typedef struct D3D12_DEPTH_STENCIL_DESC2
- {
- BOOL DepthEnable;
- D3D12_DEPTH_WRITE_MASK DepthWriteMask;
- D3D12_COMPARISON_FUNC DepthFunc;
- BOOL StencilEnable;
- D3D12_DEPTH_STENCILOP_DESC1 FrontFace;
- D3D12_DEPTH_STENCILOP_DESC1 BackFace;
- BOOL DepthBoundsTestEnable;
- } D3D12_DEPTH_STENCIL_DESC2;
- typedef
- enum D3D12_BLEND
- {
- D3D12_BLEND_ZERO = 1,
- D3D12_BLEND_ONE = 2,
- D3D12_BLEND_SRC_COLOR = 3,
- D3D12_BLEND_INV_SRC_COLOR = 4,
- D3D12_BLEND_SRC_ALPHA = 5,
- D3D12_BLEND_INV_SRC_ALPHA = 6,
- D3D12_BLEND_DEST_ALPHA = 7,
- D3D12_BLEND_INV_DEST_ALPHA = 8,
- D3D12_BLEND_DEST_COLOR = 9,
- D3D12_BLEND_INV_DEST_COLOR = 10,
- D3D12_BLEND_SRC_ALPHA_SAT = 11,
- D3D12_BLEND_BLEND_FACTOR = 14,
- D3D12_BLEND_INV_BLEND_FACTOR = 15,
- D3D12_BLEND_SRC1_COLOR = 16,
- D3D12_BLEND_INV_SRC1_COLOR = 17,
- D3D12_BLEND_SRC1_ALPHA = 18,
- D3D12_BLEND_INV_SRC1_ALPHA = 19,
- D3D12_BLEND_ALPHA_FACTOR = 20,
- D3D12_BLEND_INV_ALPHA_FACTOR = 21
- } D3D12_BLEND;
- typedef
- enum D3D12_BLEND_OP
- {
- D3D12_BLEND_OP_ADD = 1,
- D3D12_BLEND_OP_SUBTRACT = 2,
- D3D12_BLEND_OP_REV_SUBTRACT = 3,
- D3D12_BLEND_OP_MIN = 4,
- D3D12_BLEND_OP_MAX = 5
- } D3D12_BLEND_OP;
- typedef
- enum D3D12_COLOR_WRITE_ENABLE
- {
- D3D12_COLOR_WRITE_ENABLE_RED = 1,
- D3D12_COLOR_WRITE_ENABLE_GREEN = 2,
- D3D12_COLOR_WRITE_ENABLE_BLUE = 4,
- D3D12_COLOR_WRITE_ENABLE_ALPHA = 8,
- D3D12_COLOR_WRITE_ENABLE_ALL = ( ( ( D3D12_COLOR_WRITE_ENABLE_RED | D3D12_COLOR_WRITE_ENABLE_GREEN ) | D3D12_COLOR_WRITE_ENABLE_BLUE ) | D3D12_COLOR_WRITE_ENABLE_ALPHA )
- } D3D12_COLOR_WRITE_ENABLE;
- typedef
- enum D3D12_LOGIC_OP
- {
- D3D12_LOGIC_OP_CLEAR = 0,
- D3D12_LOGIC_OP_SET = ( D3D12_LOGIC_OP_CLEAR + 1 ) ,
- D3D12_LOGIC_OP_COPY = ( D3D12_LOGIC_OP_SET + 1 ) ,
- D3D12_LOGIC_OP_COPY_INVERTED = ( D3D12_LOGIC_OP_COPY + 1 ) ,
- D3D12_LOGIC_OP_NOOP = ( D3D12_LOGIC_OP_COPY_INVERTED + 1 ) ,
- D3D12_LOGIC_OP_INVERT = ( D3D12_LOGIC_OP_NOOP + 1 ) ,
- D3D12_LOGIC_OP_AND = ( D3D12_LOGIC_OP_INVERT + 1 ) ,
- D3D12_LOGIC_OP_NAND = ( D3D12_LOGIC_OP_AND + 1 ) ,
- D3D12_LOGIC_OP_OR = ( D3D12_LOGIC_OP_NAND + 1 ) ,
- D3D12_LOGIC_OP_NOR = ( D3D12_LOGIC_OP_OR + 1 ) ,
- D3D12_LOGIC_OP_XOR = ( D3D12_LOGIC_OP_NOR + 1 ) ,
- D3D12_LOGIC_OP_EQUIV = ( D3D12_LOGIC_OP_XOR + 1 ) ,
- D3D12_LOGIC_OP_AND_REVERSE = ( D3D12_LOGIC_OP_EQUIV + 1 ) ,
- D3D12_LOGIC_OP_AND_INVERTED = ( D3D12_LOGIC_OP_AND_REVERSE + 1 ) ,
- D3D12_LOGIC_OP_OR_REVERSE = ( D3D12_LOGIC_OP_AND_INVERTED + 1 ) ,
- D3D12_LOGIC_OP_OR_INVERTED = ( D3D12_LOGIC_OP_OR_REVERSE + 1 )
- } D3D12_LOGIC_OP;
- typedef struct D3D12_RENDER_TARGET_BLEND_DESC
- {
- BOOL BlendEnable;
- BOOL LogicOpEnable;
- D3D12_BLEND SrcBlend;
- D3D12_BLEND DestBlend;
- D3D12_BLEND_OP BlendOp;
- D3D12_BLEND SrcBlendAlpha;
- D3D12_BLEND DestBlendAlpha;
- D3D12_BLEND_OP BlendOpAlpha;
- D3D12_LOGIC_OP LogicOp;
- UINT8 RenderTargetWriteMask;
- } D3D12_RENDER_TARGET_BLEND_DESC;
- typedef struct D3D12_BLEND_DESC
- {
- BOOL AlphaToCoverageEnable;
- BOOL IndependentBlendEnable;
- D3D12_RENDER_TARGET_BLEND_DESC RenderTarget[ 8 ];
- } D3D12_BLEND_DESC;
- /* Note, the array size for RenderTarget[] above is D3D12_SIMULTANEOUS_RENDERTARGET_COUNT.
- IDL processing/generation of this header replaces the define; this comment is merely explaining what happened. */
- typedef
- enum D3D12_CONSERVATIVE_RASTERIZATION_MODE
- {
- D3D12_CONSERVATIVE_RASTERIZATION_MODE_OFF = 0,
- D3D12_CONSERVATIVE_RASTERIZATION_MODE_ON = 1
- } D3D12_CONSERVATIVE_RASTERIZATION_MODE;
- typedef struct D3D12_RASTERIZER_DESC
- {
- D3D12_FILL_MODE FillMode;
- D3D12_CULL_MODE CullMode;
- BOOL FrontCounterClockwise;
- INT DepthBias;
- FLOAT DepthBiasClamp;
- FLOAT SlopeScaledDepthBias;
- BOOL DepthClipEnable;
- BOOL MultisampleEnable;
- BOOL AntialiasedLineEnable;
- UINT ForcedSampleCount;
- D3D12_CONSERVATIVE_RASTERIZATION_MODE ConservativeRaster;
- } D3D12_RASTERIZER_DESC;
- typedef struct D3D12_RASTERIZER_DESC1
- {
- D3D12_FILL_MODE FillMode;
- D3D12_CULL_MODE CullMode;
- BOOL FrontCounterClockwise;
- FLOAT DepthBias;
- FLOAT DepthBiasClamp;
- FLOAT SlopeScaledDepthBias;
- BOOL DepthClipEnable;
- BOOL MultisampleEnable;
- BOOL AntialiasedLineEnable;
- UINT ForcedSampleCount;
- D3D12_CONSERVATIVE_RASTERIZATION_MODE ConservativeRaster;
- } D3D12_RASTERIZER_DESC1;
- typedef
- enum D3D12_LINE_RASTERIZATION_MODE
- {
- D3D12_LINE_RASTERIZATION_MODE_ALIASED = 0,
- D3D12_LINE_RASTERIZATION_MODE_ALPHA_ANTIALIASED = ( D3D12_LINE_RASTERIZATION_MODE_ALIASED + 1 ) ,
- D3D12_LINE_RASTERIZATION_MODE_QUADRILATERAL_WIDE = ( D3D12_LINE_RASTERIZATION_MODE_ALPHA_ANTIALIASED + 1 ) ,
- D3D12_LINE_RASTERIZATION_MODE_QUADRILATERAL_NARROW = ( D3D12_LINE_RASTERIZATION_MODE_QUADRILATERAL_WIDE + 1 )
- } D3D12_LINE_RASTERIZATION_MODE;
- typedef struct D3D12_RASTERIZER_DESC2
- {
- D3D12_FILL_MODE FillMode;
- D3D12_CULL_MODE CullMode;
- BOOL FrontCounterClockwise;
- FLOAT DepthBias;
- FLOAT DepthBiasClamp;
- FLOAT SlopeScaledDepthBias;
- BOOL DepthClipEnable;
- D3D12_LINE_RASTERIZATION_MODE LineRasterizationMode;
- UINT ForcedSampleCount;
- D3D12_CONSERVATIVE_RASTERIZATION_MODE ConservativeRaster;
- } D3D12_RASTERIZER_DESC2;
- extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0000_v0_0_c_ifspec;
- extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0000_v0_0_s_ifspec;
- #ifndef __ID3D12Object_INTERFACE_DEFINED__
- #define __ID3D12Object_INTERFACE_DEFINED__
- /* interface ID3D12Object */
- /* [unique][local][object][uuid] */
- EXTERN_C const IID IID_ID3D12Object;
- #if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("c4fec28f-7966-4e95-9f94-f431cb56c3b8")
- ID3D12Object : public IUnknown
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE GetPrivateData(
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE SetPrivateData(
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE SetPrivateDataInterface(
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE SetName(
- _In_z_ LPCWSTR Name) = 0;
-
- };
-
-
- #else /* C style interface */
- typedef struct ID3D12ObjectVtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12Object * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12Object * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12Object * This);
-
- DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12Object * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12Object * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12Object * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetName)
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12Object * This,
- _In_z_ LPCWSTR Name);
-
- END_INTERFACE
- } ID3D12ObjectVtbl;
- interface ID3D12Object
- {
- CONST_VTBL struct ID3D12ObjectVtbl *lpVtbl;
- };
-
- #ifdef COBJMACROS
- #define ID3D12Object_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define ID3D12Object_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define ID3D12Object_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #define ID3D12Object_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
- #define ID3D12Object_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
- #define ID3D12Object_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
- #define ID3D12Object_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __ID3D12Object_INTERFACE_DEFINED__ */
- #ifndef __ID3D12DeviceChild_INTERFACE_DEFINED__
- #define __ID3D12DeviceChild_INTERFACE_DEFINED__
- /* interface ID3D12DeviceChild */
- /* [unique][local][object][uuid] */
- EXTERN_C const IID IID_ID3D12DeviceChild;
- #if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("905db94b-a00c-4140-9df5-2b64ca9ea357")
- ID3D12DeviceChild : public ID3D12Object
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE GetDevice(
- REFIID riid,
- _COM_Outptr_opt_ void **ppvDevice) = 0;
-
- };
-
-
- #else /* C style interface */
- typedef struct ID3D12DeviceChildVtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12DeviceChild * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12DeviceChild * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12DeviceChild * This);
-
- DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12DeviceChild * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12DeviceChild * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12DeviceChild * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetName)
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12DeviceChild * This,
- _In_z_ LPCWSTR Name);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice)
- HRESULT ( STDMETHODCALLTYPE *GetDevice )(
- ID3D12DeviceChild * This,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvDevice);
-
- END_INTERFACE
- } ID3D12DeviceChildVtbl;
- interface ID3D12DeviceChild
- {
- CONST_VTBL struct ID3D12DeviceChildVtbl *lpVtbl;
- };
-
- #ifdef COBJMACROS
- #define ID3D12DeviceChild_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define ID3D12DeviceChild_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define ID3D12DeviceChild_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #define ID3D12DeviceChild_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
- #define ID3D12DeviceChild_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
- #define ID3D12DeviceChild_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
- #define ID3D12DeviceChild_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
- #define ID3D12DeviceChild_GetDevice(This,riid,ppvDevice) \
- ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __ID3D12DeviceChild_INTERFACE_DEFINED__ */
- #ifndef __ID3D12RootSignature_INTERFACE_DEFINED__
- #define __ID3D12RootSignature_INTERFACE_DEFINED__
- /* interface ID3D12RootSignature */
- /* [unique][local][object][uuid] */
- EXTERN_C const IID IID_ID3D12RootSignature;
- #if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("c54a6b66-72df-4ee8-8be5-a946a1429214")
- ID3D12RootSignature : public ID3D12DeviceChild
- {
- public:
- };
-
-
- #else /* C style interface */
- typedef struct ID3D12RootSignatureVtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12RootSignature * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12RootSignature * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12RootSignature * This);
-
- DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12RootSignature * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12RootSignature * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12RootSignature * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetName)
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12RootSignature * This,
- _In_z_ LPCWSTR Name);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice)
- HRESULT ( STDMETHODCALLTYPE *GetDevice )(
- ID3D12RootSignature * This,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvDevice);
-
- END_INTERFACE
- } ID3D12RootSignatureVtbl;
- interface ID3D12RootSignature
- {
- CONST_VTBL struct ID3D12RootSignatureVtbl *lpVtbl;
- };
-
- #ifdef COBJMACROS
- #define ID3D12RootSignature_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define ID3D12RootSignature_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define ID3D12RootSignature_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #define ID3D12RootSignature_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
- #define ID3D12RootSignature_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
- #define ID3D12RootSignature_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
- #define ID3D12RootSignature_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
- #define ID3D12RootSignature_GetDevice(This,riid,ppvDevice) \
- ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __ID3D12RootSignature_INTERFACE_DEFINED__ */
- /* interface __MIDL_itf_d3d12_0000_0001 */
- /* [local] */
- typedef struct D3D12_SHADER_BYTECODE
- {
- _Field_size_bytes_full_(BytecodeLength) const void *pShaderBytecode;
- SIZE_T BytecodeLength;
- } D3D12_SHADER_BYTECODE;
- typedef struct D3D12_STREAM_OUTPUT_DESC
- {
- _Field_size_full_(NumEntries) const D3D12_SO_DECLARATION_ENTRY *pSODeclaration;
- UINT NumEntries;
- _Field_size_full_(NumStrides) const UINT *pBufferStrides;
- UINT NumStrides;
- UINT RasterizedStream;
- } D3D12_STREAM_OUTPUT_DESC;
- typedef struct D3D12_INPUT_LAYOUT_DESC
- {
- _Field_size_full_(NumElements) const D3D12_INPUT_ELEMENT_DESC *pInputElementDescs;
- UINT NumElements;
- } D3D12_INPUT_LAYOUT_DESC;
- typedef
- enum D3D12_INDEX_BUFFER_STRIP_CUT_VALUE
- {
- D3D12_INDEX_BUFFER_STRIP_CUT_VALUE_DISABLED = 0,
- D3D12_INDEX_BUFFER_STRIP_CUT_VALUE_0xFFFF = 1,
- D3D12_INDEX_BUFFER_STRIP_CUT_VALUE_0xFFFFFFFF = 2
- } D3D12_INDEX_BUFFER_STRIP_CUT_VALUE;
- typedef struct D3D12_CACHED_PIPELINE_STATE
- {
- _Field_size_bytes_full_(CachedBlobSizeInBytes) const void *pCachedBlob;
- SIZE_T CachedBlobSizeInBytes;
- } D3D12_CACHED_PIPELINE_STATE;
- typedef
- enum D3D12_PIPELINE_STATE_FLAGS
- {
- D3D12_PIPELINE_STATE_FLAG_NONE = 0,
- D3D12_PIPELINE_STATE_FLAG_TOOL_DEBUG = 0x1,
- D3D12_PIPELINE_STATE_FLAG_DYNAMIC_DEPTH_BIAS = 0x4,
- D3D12_PIPELINE_STATE_FLAG_DYNAMIC_INDEX_BUFFER_STRIP_CUT = 0x8
- } D3D12_PIPELINE_STATE_FLAGS;
- DEFINE_ENUM_FLAG_OPERATORS( D3D12_PIPELINE_STATE_FLAGS );
- typedef struct D3D12_GRAPHICS_PIPELINE_STATE_DESC
- {
- ID3D12RootSignature *pRootSignature;
- D3D12_SHADER_BYTECODE VS;
- D3D12_SHADER_BYTECODE PS;
- D3D12_SHADER_BYTECODE DS;
- D3D12_SHADER_BYTECODE HS;
- D3D12_SHADER_BYTECODE GS;
- D3D12_STREAM_OUTPUT_DESC StreamOutput;
- D3D12_BLEND_DESC BlendState;
- UINT SampleMask;
- D3D12_RASTERIZER_DESC RasterizerState;
- D3D12_DEPTH_STENCIL_DESC DepthStencilState;
- D3D12_INPUT_LAYOUT_DESC InputLayout;
- D3D12_INDEX_BUFFER_STRIP_CUT_VALUE IBStripCutValue;
- D3D12_PRIMITIVE_TOPOLOGY_TYPE PrimitiveTopologyType;
- UINT NumRenderTargets;
- DXGI_FORMAT RTVFormats[ 8 ];
- DXGI_FORMAT DSVFormat;
- DXGI_SAMPLE_DESC SampleDesc;
- UINT NodeMask;
- D3D12_CACHED_PIPELINE_STATE CachedPSO;
- D3D12_PIPELINE_STATE_FLAGS Flags;
- } D3D12_GRAPHICS_PIPELINE_STATE_DESC;
- typedef struct D3D12_COMPUTE_PIPELINE_STATE_DESC
- {
- ID3D12RootSignature *pRootSignature;
- D3D12_SHADER_BYTECODE CS;
- UINT NodeMask;
- D3D12_CACHED_PIPELINE_STATE CachedPSO;
- D3D12_PIPELINE_STATE_FLAGS Flags;
- } D3D12_COMPUTE_PIPELINE_STATE_DESC;
- struct D3D12_RT_FORMAT_ARRAY
- {
- DXGI_FORMAT RTFormats[ 8 ];
- UINT NumRenderTargets;
- } ;
- typedef struct D3D12_PIPELINE_STATE_STREAM_DESC
- {
- _In_ SIZE_T SizeInBytes;
- _In_reads_(_Inexpressible_("Dependent on size of subobjects")) void *pPipelineStateSubobjectStream;
- } D3D12_PIPELINE_STATE_STREAM_DESC;
- typedef
- enum D3D12_PIPELINE_STATE_SUBOBJECT_TYPE
- {
- D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_ROOT_SIGNATURE = 0,
- D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_VS = ( D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_ROOT_SIGNATURE + 1 ) ,
- D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_PS = ( D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_VS + 1 ) ,
- D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DS = ( D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_PS + 1 ) ,
- D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_HS = ( D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DS + 1 ) ,
- D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_GS = ( D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_HS + 1 ) ,
- D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_CS = ( D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_GS + 1 ) ,
- D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_STREAM_OUTPUT = ( D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_CS + 1 ) ,
- D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_BLEND = ( D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_STREAM_OUTPUT + 1 ) ,
- D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_SAMPLE_MASK = ( D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_BLEND + 1 ) ,
- D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_RASTERIZER = ( D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_SAMPLE_MASK + 1 ) ,
- D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL = ( D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_RASTERIZER + 1 ) ,
- D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_INPUT_LAYOUT = ( D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL + 1 ) ,
- D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_IB_STRIP_CUT_VALUE = ( D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_INPUT_LAYOUT + 1 ) ,
- D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_PRIMITIVE_TOPOLOGY = ( D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_IB_STRIP_CUT_VALUE + 1 ) ,
- D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_RENDER_TARGET_FORMATS = ( D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_PRIMITIVE_TOPOLOGY + 1 ) ,
- D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL_FORMAT = ( D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_RENDER_TARGET_FORMATS + 1 ) ,
- D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_SAMPLE_DESC = ( D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL_FORMAT + 1 ) ,
- D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_NODE_MASK = ( D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_SAMPLE_DESC + 1 ) ,
- D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_CACHED_PSO = ( D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_NODE_MASK + 1 ) ,
- D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_FLAGS = ( D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_CACHED_PSO + 1 ) ,
- D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL1 = ( D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_FLAGS + 1 ) ,
- D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_VIEW_INSTANCING = ( D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL1 + 1 ) ,
- D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_AS = 24,
- D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_MS = 25,
- D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL2 = 26,
- D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_RASTERIZER1 = 27,
- D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_RASTERIZER2 = 28,
- D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_MAX_VALID = ( D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_RASTERIZER2 + 1 )
- } D3D12_PIPELINE_STATE_SUBOBJECT_TYPE;
- typedef
- enum D3D12_FEATURE
- {
- D3D12_FEATURE_D3D12_OPTIONS = 0,
- D3D12_FEATURE_ARCHITECTURE = 1,
- D3D12_FEATURE_FEATURE_LEVELS = 2,
- D3D12_FEATURE_FORMAT_SUPPORT = 3,
- D3D12_FEATURE_MULTISAMPLE_QUALITY_LEVELS = 4,
- D3D12_FEATURE_FORMAT_INFO = 5,
- D3D12_FEATURE_GPU_VIRTUAL_ADDRESS_SUPPORT = 6,
- D3D12_FEATURE_SHADER_MODEL = 7,
- D3D12_FEATURE_D3D12_OPTIONS1 = 8,
- D3D12_FEATURE_PROTECTED_RESOURCE_SESSION_SUPPORT = 10,
- D3D12_FEATURE_ROOT_SIGNATURE = 12,
- D3D12_FEATURE_ARCHITECTURE1 = 16,
- D3D12_FEATURE_D3D12_OPTIONS2 = 18,
- D3D12_FEATURE_SHADER_CACHE = 19,
- D3D12_FEATURE_COMMAND_QUEUE_PRIORITY = 20,
- D3D12_FEATURE_D3D12_OPTIONS3 = 21,
- D3D12_FEATURE_EXISTING_HEAPS = 22,
- D3D12_FEATURE_D3D12_OPTIONS4 = 23,
- D3D12_FEATURE_SERIALIZATION = 24,
- D3D12_FEATURE_CROSS_NODE = 25,
- D3D12_FEATURE_D3D12_OPTIONS5 = 27,
- D3D12_FEATURE_DISPLAYABLE = 28,
- D3D12_FEATURE_D3D12_OPTIONS6 = 30,
- D3D12_FEATURE_QUERY_META_COMMAND = 31,
- D3D12_FEATURE_D3D12_OPTIONS7 = 32,
- D3D12_FEATURE_PROTECTED_RESOURCE_SESSION_TYPE_COUNT = 33,
- D3D12_FEATURE_PROTECTED_RESOURCE_SESSION_TYPES = 34,
- D3D12_FEATURE_D3D12_OPTIONS8 = 36,
- D3D12_FEATURE_D3D12_OPTIONS9 = 37,
- D3D12_FEATURE_D3D12_OPTIONS10 = 39,
- D3D12_FEATURE_D3D12_OPTIONS11 = 40,
- D3D12_FEATURE_D3D12_OPTIONS12 = 41,
- D3D12_FEATURE_D3D12_OPTIONS13 = 42,
- D3D12_FEATURE_D3D12_OPTIONS14 = 43,
- D3D12_FEATURE_D3D12_OPTIONS15 = 44,
- D3D12_FEATURE_D3D12_OPTIONS16 = 45,
- D3D12_FEATURE_D3D12_OPTIONS17 = 46,
- D3D12_FEATURE_D3D12_OPTIONS18 = 47,
- D3D12_FEATURE_D3D12_OPTIONS19 = 48,
- D3D12_FEATURE_D3D12_OPTIONS20 = 49,
- D3D12_FEATURE_PREDICATION = 50,
- D3D12_FEATURE_PLACED_RESOURCE_SUPPORT_INFO = 51,
- D3D12_FEATURE_HARDWARE_COPY = 52
- } D3D12_FEATURE;
- typedef
- enum D3D12_SHADER_MIN_PRECISION_SUPPORT
- {
- D3D12_SHADER_MIN_PRECISION_SUPPORT_NONE = 0,
- D3D12_SHADER_MIN_PRECISION_SUPPORT_10_BIT = 0x1,
- D3D12_SHADER_MIN_PRECISION_SUPPORT_16_BIT = 0x2
- } D3D12_SHADER_MIN_PRECISION_SUPPORT;
- DEFINE_ENUM_FLAG_OPERATORS( D3D12_SHADER_MIN_PRECISION_SUPPORT );
- typedef
- enum D3D12_TILED_RESOURCES_TIER
- {
- D3D12_TILED_RESOURCES_TIER_NOT_SUPPORTED = 0,
- D3D12_TILED_RESOURCES_TIER_1 = 1,
- D3D12_TILED_RESOURCES_TIER_2 = 2,
- D3D12_TILED_RESOURCES_TIER_3 = 3,
- D3D12_TILED_RESOURCES_TIER_4 = 4
- } D3D12_TILED_RESOURCES_TIER;
- typedef
- enum D3D12_RESOURCE_BINDING_TIER
- {
- D3D12_RESOURCE_BINDING_TIER_1 = 1,
- D3D12_RESOURCE_BINDING_TIER_2 = 2,
- D3D12_RESOURCE_BINDING_TIER_3 = 3
- } D3D12_RESOURCE_BINDING_TIER;
- typedef
- enum D3D12_CONSERVATIVE_RASTERIZATION_TIER
- {
- D3D12_CONSERVATIVE_RASTERIZATION_TIER_NOT_SUPPORTED = 0,
- D3D12_CONSERVATIVE_RASTERIZATION_TIER_1 = 1,
- D3D12_CONSERVATIVE_RASTERIZATION_TIER_2 = 2,
- D3D12_CONSERVATIVE_RASTERIZATION_TIER_3 = 3
- } D3D12_CONSERVATIVE_RASTERIZATION_TIER;
- typedef
- enum D3D12_FORMAT_SUPPORT1
- {
- D3D12_FORMAT_SUPPORT1_NONE = 0,
- D3D12_FORMAT_SUPPORT1_BUFFER = 0x1,
- D3D12_FORMAT_SUPPORT1_IA_VERTEX_BUFFER = 0x2,
- D3D12_FORMAT_SUPPORT1_IA_INDEX_BUFFER = 0x4,
- D3D12_FORMAT_SUPPORT1_SO_BUFFER = 0x8,
- D3D12_FORMAT_SUPPORT1_TEXTURE1D = 0x10,
- D3D12_FORMAT_SUPPORT1_TEXTURE2D = 0x20,
- D3D12_FORMAT_SUPPORT1_TEXTURE3D = 0x40,
- D3D12_FORMAT_SUPPORT1_TEXTURECUBE = 0x80,
- D3D12_FORMAT_SUPPORT1_SHADER_LOAD = 0x100,
- D3D12_FORMAT_SUPPORT1_SHADER_SAMPLE = 0x200,
- D3D12_FORMAT_SUPPORT1_SHADER_SAMPLE_COMPARISON = 0x400,
- D3D12_FORMAT_SUPPORT1_SHADER_SAMPLE_MONO_TEXT = 0x800,
- D3D12_FORMAT_SUPPORT1_MIP = 0x1000,
- D3D12_FORMAT_SUPPORT1_RENDER_TARGET = 0x4000,
- D3D12_FORMAT_SUPPORT1_BLENDABLE = 0x8000,
- D3D12_FORMAT_SUPPORT1_DEPTH_STENCIL = 0x10000,
- D3D12_FORMAT_SUPPORT1_MULTISAMPLE_RESOLVE = 0x40000,
- D3D12_FORMAT_SUPPORT1_DISPLAY = 0x80000,
- D3D12_FORMAT_SUPPORT1_CAST_WITHIN_BIT_LAYOUT = 0x100000,
- D3D12_FORMAT_SUPPORT1_MULTISAMPLE_RENDERTARGET = 0x200000,
- D3D12_FORMAT_SUPPORT1_MULTISAMPLE_LOAD = 0x400000,
- D3D12_FORMAT_SUPPORT1_SHADER_GATHER = 0x800000,
- D3D12_FORMAT_SUPPORT1_BACK_BUFFER_CAST = 0x1000000,
- D3D12_FORMAT_SUPPORT1_TYPED_UNORDERED_ACCESS_VIEW = 0x2000000,
- D3D12_FORMAT_SUPPORT1_SHADER_GATHER_COMPARISON = 0x4000000,
- D3D12_FORMAT_SUPPORT1_DECODER_OUTPUT = 0x8000000,
- D3D12_FORMAT_SUPPORT1_VIDEO_PROCESSOR_OUTPUT = 0x10000000,
- D3D12_FORMAT_SUPPORT1_VIDEO_PROCESSOR_INPUT = 0x20000000,
- D3D12_FORMAT_SUPPORT1_VIDEO_ENCODER = 0x40000000
- } D3D12_FORMAT_SUPPORT1;
- DEFINE_ENUM_FLAG_OPERATORS( D3D12_FORMAT_SUPPORT1 );
- typedef
- enum D3D12_FORMAT_SUPPORT2
- {
- D3D12_FORMAT_SUPPORT2_NONE = 0,
- D3D12_FORMAT_SUPPORT2_UAV_ATOMIC_ADD = 0x1,
- D3D12_FORMAT_SUPPORT2_UAV_ATOMIC_BITWISE_OPS = 0x2,
- D3D12_FORMAT_SUPPORT2_UAV_ATOMIC_COMPARE_STORE_OR_COMPARE_EXCHANGE = 0x4,
- D3D12_FORMAT_SUPPORT2_UAV_ATOMIC_EXCHANGE = 0x8,
- D3D12_FORMAT_SUPPORT2_UAV_ATOMIC_SIGNED_MIN_OR_MAX = 0x10,
- D3D12_FORMAT_SUPPORT2_UAV_ATOMIC_UNSIGNED_MIN_OR_MAX = 0x20,
- D3D12_FORMAT_SUPPORT2_UAV_TYPED_LOAD = 0x40,
- D3D12_FORMAT_SUPPORT2_UAV_TYPED_STORE = 0x80,
- D3D12_FORMAT_SUPPORT2_OUTPUT_MERGER_LOGIC_OP = 0x100,
- D3D12_FORMAT_SUPPORT2_TILED = 0x200,
- D3D12_FORMAT_SUPPORT2_MULTIPLANE_OVERLAY = 0x4000,
- D3D12_FORMAT_SUPPORT2_SAMPLER_FEEDBACK = 0x8000
- } D3D12_FORMAT_SUPPORT2;
- DEFINE_ENUM_FLAG_OPERATORS( D3D12_FORMAT_SUPPORT2 );
- typedef
- enum D3D12_MULTISAMPLE_QUALITY_LEVEL_FLAGS
- {
- D3D12_MULTISAMPLE_QUALITY_LEVELS_FLAG_NONE = 0,
- D3D12_MULTISAMPLE_QUALITY_LEVELS_FLAG_TILED_RESOURCE = 0x1
- } D3D12_MULTISAMPLE_QUALITY_LEVEL_FLAGS;
- DEFINE_ENUM_FLAG_OPERATORS( D3D12_MULTISAMPLE_QUALITY_LEVEL_FLAGS );
- typedef
- enum D3D12_CROSS_NODE_SHARING_TIER
- {
- D3D12_CROSS_NODE_SHARING_TIER_NOT_SUPPORTED = 0,
- D3D12_CROSS_NODE_SHARING_TIER_1_EMULATED = 1,
- D3D12_CROSS_NODE_SHARING_TIER_1 = 2,
- D3D12_CROSS_NODE_SHARING_TIER_2 = 3,
- D3D12_CROSS_NODE_SHARING_TIER_3 = 4
- } D3D12_CROSS_NODE_SHARING_TIER;
- typedef
- enum D3D12_RESOURCE_HEAP_TIER
- {
- D3D12_RESOURCE_HEAP_TIER_1 = 1,
- D3D12_RESOURCE_HEAP_TIER_2 = 2
- } D3D12_RESOURCE_HEAP_TIER;
- typedef
- enum D3D12_PROGRAMMABLE_SAMPLE_POSITIONS_TIER
- {
- D3D12_PROGRAMMABLE_SAMPLE_POSITIONS_TIER_NOT_SUPPORTED = 0,
- D3D12_PROGRAMMABLE_SAMPLE_POSITIONS_TIER_1 = 1,
- D3D12_PROGRAMMABLE_SAMPLE_POSITIONS_TIER_2 = 2
- } D3D12_PROGRAMMABLE_SAMPLE_POSITIONS_TIER;
- typedef
- enum D3D12_VIEW_INSTANCING_TIER
- {
- D3D12_VIEW_INSTANCING_TIER_NOT_SUPPORTED = 0,
- D3D12_VIEW_INSTANCING_TIER_1 = 1,
- D3D12_VIEW_INSTANCING_TIER_2 = 2,
- D3D12_VIEW_INSTANCING_TIER_3 = 3
- } D3D12_VIEW_INSTANCING_TIER;
- typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS
- {
- _Out_ BOOL DoublePrecisionFloatShaderOps;
- _Out_ BOOL OutputMergerLogicOp;
- _Out_ D3D12_SHADER_MIN_PRECISION_SUPPORT MinPrecisionSupport;
- _Out_ D3D12_TILED_RESOURCES_TIER TiledResourcesTier;
- _Out_ D3D12_RESOURCE_BINDING_TIER ResourceBindingTier;
- _Out_ BOOL PSSpecifiedStencilRefSupported;
- _Out_ BOOL TypedUAVLoadAdditionalFormats;
- _Out_ BOOL ROVsSupported;
- _Out_ D3D12_CONSERVATIVE_RASTERIZATION_TIER ConservativeRasterizationTier;
- _Out_ UINT MaxGPUVirtualAddressBitsPerResource;
- _Out_ BOOL StandardSwizzle64KBSupported;
- _Out_ D3D12_CROSS_NODE_SHARING_TIER CrossNodeSharingTier;
- _Out_ BOOL CrossAdapterRowMajorTextureSupported;
- _Out_ BOOL VPAndRTArrayIndexFromAnyShaderFeedingRasterizerSupportedWithoutGSEmulation;
- _Out_ D3D12_RESOURCE_HEAP_TIER ResourceHeapTier;
- } D3D12_FEATURE_DATA_D3D12_OPTIONS;
- typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS1
- {
- _Out_ BOOL WaveOps;
- _Out_ UINT WaveLaneCountMin;
- _Out_ UINT WaveLaneCountMax;
- _Out_ UINT TotalLaneCount;
- _Out_ BOOL ExpandedComputeResourceStates;
- _Out_ BOOL Int64ShaderOps;
- } D3D12_FEATURE_DATA_D3D12_OPTIONS1;
- typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS2
- {
- _Out_ BOOL DepthBoundsTestSupported;
- _Out_ D3D12_PROGRAMMABLE_SAMPLE_POSITIONS_TIER ProgrammableSamplePositionsTier;
- } D3D12_FEATURE_DATA_D3D12_OPTIONS2;
- typedef
- enum D3D_ROOT_SIGNATURE_VERSION
- {
- D3D_ROOT_SIGNATURE_VERSION_1 = 0x1,
- D3D_ROOT_SIGNATURE_VERSION_1_0 = 0x1,
- D3D_ROOT_SIGNATURE_VERSION_1_1 = 0x2,
- D3D_ROOT_SIGNATURE_VERSION_1_2 = 0x3
- } D3D_ROOT_SIGNATURE_VERSION;
- typedef struct D3D12_FEATURE_DATA_ROOT_SIGNATURE
- {
- _Inout_ D3D_ROOT_SIGNATURE_VERSION HighestVersion;
- } D3D12_FEATURE_DATA_ROOT_SIGNATURE;
- typedef struct D3D12_FEATURE_DATA_ARCHITECTURE
- {
- _In_ UINT NodeIndex;
- _Out_ BOOL TileBasedRenderer;
- _Out_ BOOL UMA;
- _Out_ BOOL CacheCoherentUMA;
- } D3D12_FEATURE_DATA_ARCHITECTURE;
- typedef struct D3D12_FEATURE_DATA_ARCHITECTURE1
- {
- _In_ UINT NodeIndex;
- _Out_ BOOL TileBasedRenderer;
- _Out_ BOOL UMA;
- _Out_ BOOL CacheCoherentUMA;
- _Out_ BOOL IsolatedMMU;
- } D3D12_FEATURE_DATA_ARCHITECTURE1;
- typedef struct D3D12_FEATURE_DATA_FEATURE_LEVELS
- {
- _In_ UINT NumFeatureLevels;
- _In_reads_(NumFeatureLevels) const D3D_FEATURE_LEVEL *pFeatureLevelsRequested;
- _Out_ D3D_FEATURE_LEVEL MaxSupportedFeatureLevel;
- } D3D12_FEATURE_DATA_FEATURE_LEVELS;
- typedef
- enum D3D_SHADER_MODEL
- {
- D3D_SHADER_MODEL_5_1 = 0x51,
- D3D_SHADER_MODEL_6_0 = 0x60,
- D3D_SHADER_MODEL_6_1 = 0x61,
- D3D_SHADER_MODEL_6_2 = 0x62,
- D3D_SHADER_MODEL_6_3 = 0x63,
- D3D_SHADER_MODEL_6_4 = 0x64,
- D3D_SHADER_MODEL_6_5 = 0x65,
- D3D_SHADER_MODEL_6_6 = 0x66,
- D3D_SHADER_MODEL_6_7 = 0x67,
- D3D_SHADER_MODEL_6_8 = 0x68,
- D3D_HIGHEST_SHADER_MODEL = D3D_SHADER_MODEL_6_8
- } D3D_SHADER_MODEL;
- typedef struct D3D12_FEATURE_DATA_SHADER_MODEL
- {
- _Inout_ D3D_SHADER_MODEL HighestShaderModel;
- } D3D12_FEATURE_DATA_SHADER_MODEL;
- typedef struct D3D12_FEATURE_DATA_FORMAT_SUPPORT
- {
- _In_ DXGI_FORMAT Format;
- _Out_ D3D12_FORMAT_SUPPORT1 Support1;
- _Out_ D3D12_FORMAT_SUPPORT2 Support2;
- } D3D12_FEATURE_DATA_FORMAT_SUPPORT;
- typedef struct D3D12_FEATURE_DATA_MULTISAMPLE_QUALITY_LEVELS
- {
- _In_ DXGI_FORMAT Format;
- _In_ UINT SampleCount;
- _In_ D3D12_MULTISAMPLE_QUALITY_LEVEL_FLAGS Flags;
- _Out_ UINT NumQualityLevels;
- } D3D12_FEATURE_DATA_MULTISAMPLE_QUALITY_LEVELS;
- typedef struct D3D12_FEATURE_DATA_FORMAT_INFO
- {
- DXGI_FORMAT Format;
- UINT8 PlaneCount;
- } D3D12_FEATURE_DATA_FORMAT_INFO;
- typedef struct D3D12_FEATURE_DATA_GPU_VIRTUAL_ADDRESS_SUPPORT
- {
- UINT MaxGPUVirtualAddressBitsPerResource;
- UINT MaxGPUVirtualAddressBitsPerProcess;
- } D3D12_FEATURE_DATA_GPU_VIRTUAL_ADDRESS_SUPPORT;
- typedef
- enum D3D12_SHADER_CACHE_SUPPORT_FLAGS
- {
- D3D12_SHADER_CACHE_SUPPORT_NONE = 0,
- D3D12_SHADER_CACHE_SUPPORT_SINGLE_PSO = 0x1,
- D3D12_SHADER_CACHE_SUPPORT_LIBRARY = 0x2,
- D3D12_SHADER_CACHE_SUPPORT_AUTOMATIC_INPROC_CACHE = 0x4,
- D3D12_SHADER_CACHE_SUPPORT_AUTOMATIC_DISK_CACHE = 0x8,
- D3D12_SHADER_CACHE_SUPPORT_DRIVER_MANAGED_CACHE = 0x10,
- D3D12_SHADER_CACHE_SUPPORT_SHADER_CONTROL_CLEAR = 0x20,
- D3D12_SHADER_CACHE_SUPPORT_SHADER_SESSION_DELETE = 0x40
- } D3D12_SHADER_CACHE_SUPPORT_FLAGS;
- DEFINE_ENUM_FLAG_OPERATORS( D3D12_SHADER_CACHE_SUPPORT_FLAGS );
- typedef struct D3D12_FEATURE_DATA_SHADER_CACHE
- {
- _Out_ D3D12_SHADER_CACHE_SUPPORT_FLAGS SupportFlags;
- } D3D12_FEATURE_DATA_SHADER_CACHE;
- typedef struct D3D12_FEATURE_DATA_COMMAND_QUEUE_PRIORITY
- {
- _In_ D3D12_COMMAND_LIST_TYPE CommandListType;
- _In_ UINT Priority;
- _Out_ BOOL PriorityForTypeIsSupported;
- } D3D12_FEATURE_DATA_COMMAND_QUEUE_PRIORITY;
- typedef
- enum D3D12_COMMAND_LIST_SUPPORT_FLAGS
- {
- D3D12_COMMAND_LIST_SUPPORT_FLAG_NONE = 0,
- D3D12_COMMAND_LIST_SUPPORT_FLAG_DIRECT = ( 1 << D3D12_COMMAND_LIST_TYPE_DIRECT ) ,
- D3D12_COMMAND_LIST_SUPPORT_FLAG_BUNDLE = ( 1 << D3D12_COMMAND_LIST_TYPE_BUNDLE ) ,
- D3D12_COMMAND_LIST_SUPPORT_FLAG_COMPUTE = ( 1 << D3D12_COMMAND_LIST_TYPE_COMPUTE ) ,
- D3D12_COMMAND_LIST_SUPPORT_FLAG_COPY = ( 1 << D3D12_COMMAND_LIST_TYPE_COPY ) ,
- D3D12_COMMAND_LIST_SUPPORT_FLAG_VIDEO_DECODE = ( 1 << D3D12_COMMAND_LIST_TYPE_VIDEO_DECODE ) ,
- D3D12_COMMAND_LIST_SUPPORT_FLAG_VIDEO_PROCESS = ( 1 << D3D12_COMMAND_LIST_TYPE_VIDEO_PROCESS ) ,
- D3D12_COMMAND_LIST_SUPPORT_FLAG_VIDEO_ENCODE = ( 1 << D3D12_COMMAND_LIST_TYPE_VIDEO_ENCODE )
- } D3D12_COMMAND_LIST_SUPPORT_FLAGS;
- DEFINE_ENUM_FLAG_OPERATORS( D3D12_COMMAND_LIST_SUPPORT_FLAGS );
- typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS3
- {
- _Out_ BOOL CopyQueueTimestampQueriesSupported;
- _Out_ BOOL CastingFullyTypedFormatSupported;
- _Out_ D3D12_COMMAND_LIST_SUPPORT_FLAGS WriteBufferImmediateSupportFlags;
- _Out_ D3D12_VIEW_INSTANCING_TIER ViewInstancingTier;
- _Out_ BOOL BarycentricsSupported;
- } D3D12_FEATURE_DATA_D3D12_OPTIONS3;
- typedef struct D3D12_FEATURE_DATA_EXISTING_HEAPS
- {
- _Out_ BOOL Supported;
- } D3D12_FEATURE_DATA_EXISTING_HEAPS;
- typedef
- enum D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER
- {
- D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER_0 = 0,
- D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER_1 = ( D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER_0 + 1 ) ,
- D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER_2 = ( D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER_1 + 1 )
- } D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER;
- typedef struct D3D12_FEATURE_DATA_DISPLAYABLE
- {
- _Out_ BOOL DisplayableTexture;
- _Out_ D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER SharedResourceCompatibilityTier;
- } D3D12_FEATURE_DATA_DISPLAYABLE;
- typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS4
- {
- _Out_ BOOL MSAA64KBAlignedTextureSupported;
- _Out_ D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER SharedResourceCompatibilityTier;
- _Out_ BOOL Native16BitShaderOpsSupported;
- } D3D12_FEATURE_DATA_D3D12_OPTIONS4;
- typedef
- enum D3D12_HEAP_SERIALIZATION_TIER
- {
- D3D12_HEAP_SERIALIZATION_TIER_0 = 0,
- D3D12_HEAP_SERIALIZATION_TIER_10 = 10
- } D3D12_HEAP_SERIALIZATION_TIER;
- typedef struct D3D12_FEATURE_DATA_SERIALIZATION
- {
- _In_ UINT NodeIndex;
- _Out_ D3D12_HEAP_SERIALIZATION_TIER HeapSerializationTier;
- } D3D12_FEATURE_DATA_SERIALIZATION;
- typedef struct D3D12_FEATURE_DATA_CROSS_NODE
- {
- D3D12_CROSS_NODE_SHARING_TIER SharingTier;
- BOOL AtomicShaderInstructions;
- } D3D12_FEATURE_DATA_CROSS_NODE;
- typedef
- enum D3D12_RENDER_PASS_TIER
- {
- D3D12_RENDER_PASS_TIER_0 = 0,
- D3D12_RENDER_PASS_TIER_1 = 1,
- D3D12_RENDER_PASS_TIER_2 = 2
- } D3D12_RENDER_PASS_TIER;
- typedef
- enum D3D12_RAYTRACING_TIER
- {
- D3D12_RAYTRACING_TIER_NOT_SUPPORTED = 0,
- D3D12_RAYTRACING_TIER_1_0 = 10,
- D3D12_RAYTRACING_TIER_1_1 = 11
- } D3D12_RAYTRACING_TIER;
- typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS5
- {
- _Out_ BOOL SRVOnlyTiledResourceTier3;
- _Out_ D3D12_RENDER_PASS_TIER RenderPassesTier;
- _Out_ D3D12_RAYTRACING_TIER RaytracingTier;
- } D3D12_FEATURE_DATA_D3D12_OPTIONS5;
- typedef
- enum D3D12_VARIABLE_SHADING_RATE_TIER
- {
- D3D12_VARIABLE_SHADING_RATE_TIER_NOT_SUPPORTED = 0,
- D3D12_VARIABLE_SHADING_RATE_TIER_1 = 1,
- D3D12_VARIABLE_SHADING_RATE_TIER_2 = 2
- } D3D12_VARIABLE_SHADING_RATE_TIER;
- typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS6
- {
- _Out_ BOOL AdditionalShadingRatesSupported;
- _Out_ BOOL PerPrimitiveShadingRateSupportedWithViewportIndexing;
- _Out_ D3D12_VARIABLE_SHADING_RATE_TIER VariableShadingRateTier;
- _Out_ UINT ShadingRateImageTileSize;
- _Out_ BOOL BackgroundProcessingSupported;
- } D3D12_FEATURE_DATA_D3D12_OPTIONS6;
- typedef
- enum D3D12_MESH_SHADER_TIER
- {
- D3D12_MESH_SHADER_TIER_NOT_SUPPORTED = 0,
- D3D12_MESH_SHADER_TIER_1 = 10
- } D3D12_MESH_SHADER_TIER;
- typedef
- enum D3D12_SAMPLER_FEEDBACK_TIER
- {
- D3D12_SAMPLER_FEEDBACK_TIER_NOT_SUPPORTED = 0,
- D3D12_SAMPLER_FEEDBACK_TIER_0_9 = 90,
- D3D12_SAMPLER_FEEDBACK_TIER_1_0 = 100
- } D3D12_SAMPLER_FEEDBACK_TIER;
- typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS7
- {
- _Out_ D3D12_MESH_SHADER_TIER MeshShaderTier;
- _Out_ D3D12_SAMPLER_FEEDBACK_TIER SamplerFeedbackTier;
- } D3D12_FEATURE_DATA_D3D12_OPTIONS7;
- typedef struct D3D12_FEATURE_DATA_QUERY_META_COMMAND
- {
- _In_ GUID CommandId;
- _In_ UINT NodeMask;
- _Field_size_bytes_full_opt_( QueryInputDataSizeInBytes ) const void *pQueryInputData;
- _In_ SIZE_T QueryInputDataSizeInBytes;
- _Field_size_bytes_full_( QueryOutputDataSizeInBytes ) void *pQueryOutputData;
- _In_ SIZE_T QueryOutputDataSizeInBytes;
- } D3D12_FEATURE_DATA_QUERY_META_COMMAND;
- typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS8
- {
- _Out_ BOOL UnalignedBlockTexturesSupported;
- } D3D12_FEATURE_DATA_D3D12_OPTIONS8;
- typedef
- enum D3D12_WAVE_MMA_TIER
- {
- D3D12_WAVE_MMA_TIER_NOT_SUPPORTED = 0,
- D3D12_WAVE_MMA_TIER_1_0 = 10
- } D3D12_WAVE_MMA_TIER;
- typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS9
- {
- _Out_ BOOL MeshShaderPipelineStatsSupported;
- _Out_ BOOL MeshShaderSupportsFullRangeRenderTargetArrayIndex;
- _Out_ BOOL AtomicInt64OnTypedResourceSupported;
- _Out_ BOOL AtomicInt64OnGroupSharedSupported;
- _Out_ BOOL DerivativesInMeshAndAmplificationShadersSupported;
- _Out_ D3D12_WAVE_MMA_TIER WaveMMATier;
- } D3D12_FEATURE_DATA_D3D12_OPTIONS9;
- typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS10
- {
- _Out_ BOOL VariableRateShadingSumCombinerSupported;
- _Out_ BOOL MeshShaderPerPrimitiveShadingRateSupported;
- } D3D12_FEATURE_DATA_D3D12_OPTIONS10;
- typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS11
- {
- _Out_ BOOL AtomicInt64OnDescriptorHeapResourceSupported;
- } D3D12_FEATURE_DATA_D3D12_OPTIONS11;
- typedef
- enum D3D12_TRI_STATE
- {
- D3D12_TRI_STATE_UNKNOWN = -1,
- D3D12_TRI_STATE_FALSE = 0,
- D3D12_TRI_STATE_TRUE = 1
- } D3D12_TRI_STATE;
- typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS12
- {
- _Out_ D3D12_TRI_STATE MSPrimitivesPipelineStatisticIncludesCulledPrimitives;
- _Out_ BOOL EnhancedBarriersSupported;
- _Out_ BOOL RelaxedFormatCastingSupported;
- } D3D12_FEATURE_DATA_D3D12_OPTIONS12;
- typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS13
- {
- _Out_ BOOL UnrestrictedBufferTextureCopyPitchSupported;
- _Out_ BOOL UnrestrictedVertexElementAlignmentSupported;
- _Out_ BOOL InvertedViewportHeightFlipsYSupported;
- _Out_ BOOL InvertedViewportDepthFlipsZSupported;
- _Out_ BOOL TextureCopyBetweenDimensionsSupported;
- _Out_ BOOL AlphaBlendFactorSupported;
- } D3D12_FEATURE_DATA_D3D12_OPTIONS13;
- typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS14
- {
- _Out_ BOOL AdvancedTextureOpsSupported;
- _Out_ BOOL WriteableMSAATexturesSupported;
- _Out_ BOOL IndependentFrontAndBackStencilRefMaskSupported;
- } D3D12_FEATURE_DATA_D3D12_OPTIONS14;
- typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS15
- {
- _Out_ BOOL TriangleFanSupported;
- _Out_ BOOL DynamicIndexBufferStripCutSupported;
- } D3D12_FEATURE_DATA_D3D12_OPTIONS15;
- typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS16
- {
- _Out_ BOOL DynamicDepthBiasSupported;
- _Out_ BOOL GPUUploadHeapSupported;
- } D3D12_FEATURE_DATA_D3D12_OPTIONS16;
- typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS17
- {
- _Out_ BOOL NonNormalizedCoordinateSamplersSupported;
- _Out_ BOOL ManualWriteTrackingResourceSupported;
- } D3D12_FEATURE_DATA_D3D12_OPTIONS17;
- typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS18
- {
- _Out_ BOOL RenderPassesValid;
- } D3D12_FEATURE_DATA_D3D12_OPTIONS18;
- typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS19
- {
- BOOL MismatchingOutputDimensionsSupported;
- UINT SupportedSampleCountsWithNoOutputs;
- BOOL PointSamplingAddressesNeverRoundUp;
- BOOL RasterizerDesc2Supported;
- BOOL NarrowQuadrilateralLinesSupported;
- BOOL AnisoFilterWithPointMipSupported;
- UINT MaxSamplerDescriptorHeapSize;
- UINT MaxSamplerDescriptorHeapSizeWithStaticSamplers;
- UINT MaxViewDescriptorHeapSize;
- _Out_ BOOL ComputeOnlyCustomHeapSupported;
- } D3D12_FEATURE_DATA_D3D12_OPTIONS19;
- typedef
- enum D3D12_RECREATE_AT_TIER
- {
- D3D12_RECREATE_AT_TIER_NOT_SUPPORTED = 0,
- D3D12_RECREATE_AT_TIER_1 = 1
- } D3D12_RECREATE_AT_TIER;
- typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS20
- {
- _Out_ BOOL ComputeOnlyWriteWatchSupported;
- D3D12_RECREATE_AT_TIER RecreateAtTier;
- } D3D12_FEATURE_DATA_D3D12_OPTIONS20;
- typedef struct D3D12_FEATURE_DATA_PREDICATION
- {
- _Out_ BOOL Supported;
- } D3D12_FEATURE_DATA_PREDICATION;
- typedef struct D3D12_FEATURE_DATA_HARDWARE_COPY
- {
- _Out_ BOOL Supported;
- } D3D12_FEATURE_DATA_HARDWARE_COPY;
- typedef struct D3D12_RESOURCE_ALLOCATION_INFO
- {
- UINT64 SizeInBytes;
- UINT64 Alignment;
- } D3D12_RESOURCE_ALLOCATION_INFO;
- typedef struct D3D12_RESOURCE_ALLOCATION_INFO1
- {
- UINT64 Offset;
- UINT64 Alignment;
- UINT64 SizeInBytes;
- } D3D12_RESOURCE_ALLOCATION_INFO1;
- typedef
- enum D3D12_HEAP_TYPE
- {
- D3D12_HEAP_TYPE_DEFAULT = 1,
- D3D12_HEAP_TYPE_UPLOAD = 2,
- D3D12_HEAP_TYPE_READBACK = 3,
- D3D12_HEAP_TYPE_CUSTOM = 4,
- D3D12_HEAP_TYPE_GPU_UPLOAD = 5
- } D3D12_HEAP_TYPE;
- typedef
- enum D3D12_CPU_PAGE_PROPERTY
- {
- D3D12_CPU_PAGE_PROPERTY_UNKNOWN = 0,
- D3D12_CPU_PAGE_PROPERTY_NOT_AVAILABLE = 1,
- D3D12_CPU_PAGE_PROPERTY_WRITE_COMBINE = 2,
- D3D12_CPU_PAGE_PROPERTY_WRITE_BACK = 3
- } D3D12_CPU_PAGE_PROPERTY;
- typedef
- enum D3D12_MEMORY_POOL
- {
- D3D12_MEMORY_POOL_UNKNOWN = 0,
- D3D12_MEMORY_POOL_L0 = 1,
- D3D12_MEMORY_POOL_L1 = 2
- } D3D12_MEMORY_POOL;
- typedef struct D3D12_HEAP_PROPERTIES
- {
- D3D12_HEAP_TYPE Type;
- D3D12_CPU_PAGE_PROPERTY CPUPageProperty;
- D3D12_MEMORY_POOL MemoryPoolPreference;
- UINT CreationNodeMask;
- UINT VisibleNodeMask;
- } D3D12_HEAP_PROPERTIES;
- typedef
- enum D3D12_HEAP_FLAGS
- {
- D3D12_HEAP_FLAG_NONE = 0,
- D3D12_HEAP_FLAG_SHARED = 0x1,
- D3D12_HEAP_FLAG_DENY_BUFFERS = 0x4,
- D3D12_HEAP_FLAG_ALLOW_DISPLAY = 0x8,
- D3D12_HEAP_FLAG_SHARED_CROSS_ADAPTER = 0x20,
- D3D12_HEAP_FLAG_DENY_RT_DS_TEXTURES = 0x40,
- D3D12_HEAP_FLAG_DENY_NON_RT_DS_TEXTURES = 0x80,
- D3D12_HEAP_FLAG_HARDWARE_PROTECTED = 0x100,
- D3D12_HEAP_FLAG_ALLOW_WRITE_WATCH = 0x200,
- D3D12_HEAP_FLAG_ALLOW_SHADER_ATOMICS = 0x400,
- D3D12_HEAP_FLAG_CREATE_NOT_RESIDENT = 0x800,
- D3D12_HEAP_FLAG_CREATE_NOT_ZEROED = 0x1000,
- D3D12_HEAP_FLAG_TOOLS_USE_MANUAL_WRITE_TRACKING = 0x2000,
- D3D12_HEAP_FLAG_ALLOW_ALL_BUFFERS_AND_TEXTURES = 0,
- D3D12_HEAP_FLAG_ALLOW_ONLY_BUFFERS = 0xc0,
- D3D12_HEAP_FLAG_ALLOW_ONLY_NON_RT_DS_TEXTURES = 0x44,
- D3D12_HEAP_FLAG_ALLOW_ONLY_RT_DS_TEXTURES = 0x84
- } D3D12_HEAP_FLAGS;
- DEFINE_ENUM_FLAG_OPERATORS( D3D12_HEAP_FLAGS );
- typedef struct D3D12_HEAP_DESC
- {
- UINT64 SizeInBytes;
- D3D12_HEAP_PROPERTIES Properties;
- UINT64 Alignment;
- D3D12_HEAP_FLAGS Flags;
- } D3D12_HEAP_DESC;
- typedef
- enum D3D12_RESOURCE_DIMENSION
- {
- D3D12_RESOURCE_DIMENSION_UNKNOWN = 0,
- D3D12_RESOURCE_DIMENSION_BUFFER = 1,
- D3D12_RESOURCE_DIMENSION_TEXTURE1D = 2,
- D3D12_RESOURCE_DIMENSION_TEXTURE2D = 3,
- D3D12_RESOURCE_DIMENSION_TEXTURE3D = 4
- } D3D12_RESOURCE_DIMENSION;
- typedef struct D3D12_FEATURE_DATA_PLACED_RESOURCE_SUPPORT_INFO
- {
- _In_ DXGI_FORMAT Format;
- _In_ D3D12_RESOURCE_DIMENSION Dimension;
- _In_ D3D12_HEAP_PROPERTIES DestHeapProperties;
- _Out_ BOOL Supported;
- } D3D12_FEATURE_DATA_PLACED_RESOURCE_SUPPORT_INFO;
- typedef
- enum D3D12_TEXTURE_LAYOUT
- {
- D3D12_TEXTURE_LAYOUT_UNKNOWN = 0,
- D3D12_TEXTURE_LAYOUT_ROW_MAJOR = 1,
- D3D12_TEXTURE_LAYOUT_64KB_UNDEFINED_SWIZZLE = 2,
- D3D12_TEXTURE_LAYOUT_64KB_STANDARD_SWIZZLE = 3
- } D3D12_TEXTURE_LAYOUT;
- typedef
- enum D3D12_RESOURCE_FLAGS
- {
- D3D12_RESOURCE_FLAG_NONE = 0,
- D3D12_RESOURCE_FLAG_ALLOW_RENDER_TARGET = 0x1,
- D3D12_RESOURCE_FLAG_ALLOW_DEPTH_STENCIL = 0x2,
- D3D12_RESOURCE_FLAG_ALLOW_UNORDERED_ACCESS = 0x4,
- D3D12_RESOURCE_FLAG_DENY_SHADER_RESOURCE = 0x8,
- D3D12_RESOURCE_FLAG_ALLOW_CROSS_ADAPTER = 0x10,
- D3D12_RESOURCE_FLAG_ALLOW_SIMULTANEOUS_ACCESS = 0x20,
- D3D12_RESOURCE_FLAG_VIDEO_DECODE_REFERENCE_ONLY = 0x40,
- D3D12_RESOURCE_FLAG_VIDEO_ENCODE_REFERENCE_ONLY = 0x80,
- D3D12_RESOURCE_FLAG_RAYTRACING_ACCELERATION_STRUCTURE = 0x100
- } D3D12_RESOURCE_FLAGS;
- DEFINE_ENUM_FLAG_OPERATORS( D3D12_RESOURCE_FLAGS );
- typedef struct D3D12_MIP_REGION
- {
- UINT Width;
- UINT Height;
- UINT Depth;
- } D3D12_MIP_REGION;
- typedef struct D3D12_RESOURCE_DESC
- {
- D3D12_RESOURCE_DIMENSION Dimension;
- UINT64 Alignment;
- UINT64 Width;
- UINT Height;
- UINT16 DepthOrArraySize;
- UINT16 MipLevels;
- DXGI_FORMAT Format;
- DXGI_SAMPLE_DESC SampleDesc;
- D3D12_TEXTURE_LAYOUT Layout;
- D3D12_RESOURCE_FLAGS Flags;
- } D3D12_RESOURCE_DESC;
- typedef struct D3D12_RESOURCE_DESC1
- {
- D3D12_RESOURCE_DIMENSION Dimension;
- UINT64 Alignment;
- UINT64 Width;
- UINT Height;
- UINT16 DepthOrArraySize;
- UINT16 MipLevels;
- DXGI_FORMAT Format;
- DXGI_SAMPLE_DESC SampleDesc;
- D3D12_TEXTURE_LAYOUT Layout;
- D3D12_RESOURCE_FLAGS Flags;
- D3D12_MIP_REGION SamplerFeedbackMipRegion;
- } D3D12_RESOURCE_DESC1;
- typedef struct D3D12_DEPTH_STENCIL_VALUE
- {
- FLOAT Depth;
- UINT8 Stencil;
- } D3D12_DEPTH_STENCIL_VALUE;
- typedef struct D3D12_CLEAR_VALUE
- {
- DXGI_FORMAT Format;
- union
- {
- FLOAT Color[ 4 ];
- D3D12_DEPTH_STENCIL_VALUE DepthStencil;
- } ;
- } D3D12_CLEAR_VALUE;
- typedef struct D3D12_RANGE
- {
- SIZE_T Begin;
- SIZE_T End;
- } D3D12_RANGE;
- typedef struct D3D12_RANGE_UINT64
- {
- UINT64 Begin;
- UINT64 End;
- } D3D12_RANGE_UINT64;
- typedef struct D3D12_SUBRESOURCE_RANGE_UINT64
- {
- UINT Subresource;
- D3D12_RANGE_UINT64 Range;
- } D3D12_SUBRESOURCE_RANGE_UINT64;
- typedef struct D3D12_SUBRESOURCE_INFO
- {
- UINT64 Offset;
- UINT RowPitch;
- UINT DepthPitch;
- } D3D12_SUBRESOURCE_INFO;
- typedef struct D3D12_TILED_RESOURCE_COORDINATE
- {
- UINT X;
- UINT Y;
- UINT Z;
- UINT Subresource;
- } D3D12_TILED_RESOURCE_COORDINATE;
- typedef struct D3D12_TILE_REGION_SIZE
- {
- UINT NumTiles;
- BOOL UseBox;
- UINT Width;
- UINT16 Height;
- UINT16 Depth;
- } D3D12_TILE_REGION_SIZE;
- typedef
- enum D3D12_TILE_RANGE_FLAGS
- {
- D3D12_TILE_RANGE_FLAG_NONE = 0,
- D3D12_TILE_RANGE_FLAG_NULL = 1,
- D3D12_TILE_RANGE_FLAG_SKIP = 2,
- D3D12_TILE_RANGE_FLAG_REUSE_SINGLE_TILE = 4
- } D3D12_TILE_RANGE_FLAGS;
- typedef struct D3D12_SUBRESOURCE_TILING
- {
- UINT WidthInTiles;
- UINT16 HeightInTiles;
- UINT16 DepthInTiles;
- UINT StartTileIndexInOverallResource;
- } D3D12_SUBRESOURCE_TILING;
- typedef struct D3D12_TILE_SHAPE
- {
- UINT WidthInTexels;
- UINT HeightInTexels;
- UINT DepthInTexels;
- } D3D12_TILE_SHAPE;
- typedef struct D3D12_PACKED_MIP_INFO
- {
- UINT8 NumStandardMips;
- UINT8 NumPackedMips;
- UINT NumTilesForPackedMips;
- UINT StartTileIndexInOverallResource;
- } D3D12_PACKED_MIP_INFO;
- typedef
- enum D3D12_TILE_MAPPING_FLAGS
- {
- D3D12_TILE_MAPPING_FLAG_NONE = 0,
- D3D12_TILE_MAPPING_FLAG_NO_HAZARD = 0x1
- } D3D12_TILE_MAPPING_FLAGS;
- DEFINE_ENUM_FLAG_OPERATORS( D3D12_TILE_MAPPING_FLAGS );
- typedef
- enum D3D12_TILE_COPY_FLAGS
- {
- D3D12_TILE_COPY_FLAG_NONE = 0,
- D3D12_TILE_COPY_FLAG_NO_HAZARD = 0x1,
- D3D12_TILE_COPY_FLAG_LINEAR_BUFFER_TO_SWIZZLED_TILED_RESOURCE = 0x2,
- D3D12_TILE_COPY_FLAG_SWIZZLED_TILED_RESOURCE_TO_LINEAR_BUFFER = 0x4
- } D3D12_TILE_COPY_FLAGS;
- DEFINE_ENUM_FLAG_OPERATORS( D3D12_TILE_COPY_FLAGS );
- typedef
- enum D3D12_RESOURCE_STATES
- {
- D3D12_RESOURCE_STATE_COMMON = 0,
- D3D12_RESOURCE_STATE_VERTEX_AND_CONSTANT_BUFFER = 0x1,
- D3D12_RESOURCE_STATE_INDEX_BUFFER = 0x2,
- D3D12_RESOURCE_STATE_RENDER_TARGET = 0x4,
- D3D12_RESOURCE_STATE_UNORDERED_ACCESS = 0x8,
- D3D12_RESOURCE_STATE_DEPTH_WRITE = 0x10,
- D3D12_RESOURCE_STATE_DEPTH_READ = 0x20,
- D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE = 0x40,
- D3D12_RESOURCE_STATE_PIXEL_SHADER_RESOURCE = 0x80,
- D3D12_RESOURCE_STATE_STREAM_OUT = 0x100,
- D3D12_RESOURCE_STATE_INDIRECT_ARGUMENT = 0x200,
- D3D12_RESOURCE_STATE_COPY_DEST = 0x400,
- D3D12_RESOURCE_STATE_COPY_SOURCE = 0x800,
- D3D12_RESOURCE_STATE_RESOLVE_DEST = 0x1000,
- D3D12_RESOURCE_STATE_RESOLVE_SOURCE = 0x2000,
- D3D12_RESOURCE_STATE_RAYTRACING_ACCELERATION_STRUCTURE = 0x400000,
- D3D12_RESOURCE_STATE_SHADING_RATE_SOURCE = 0x1000000,
- D3D12_RESOURCE_STATE_RESERVED_INTERNAL_8000 = 0x8000,
- D3D12_RESOURCE_STATE_RESERVED_INTERNAL_4000 = 0x4000,
- D3D12_RESOURCE_STATE_RESERVED_INTERNAL_100000 = 0x100000,
- D3D12_RESOURCE_STATE_RESERVED_INTERNAL_40000000 = 0x40000000,
- D3D12_RESOURCE_STATE_RESERVED_INTERNAL_80000000 = 0x80000000,
- D3D12_RESOURCE_STATE_GENERIC_READ = ( ( ( ( ( 0x1 | 0x2 ) | 0x40 ) | 0x80 ) | 0x200 ) | 0x800 ) ,
- D3D12_RESOURCE_STATE_ALL_SHADER_RESOURCE = ( 0x40 | 0x80 ) ,
- D3D12_RESOURCE_STATE_PRESENT = 0,
- D3D12_RESOURCE_STATE_PREDICATION = 0x200,
- D3D12_RESOURCE_STATE_VIDEO_DECODE_READ = 0x10000,
- D3D12_RESOURCE_STATE_VIDEO_DECODE_WRITE = 0x20000,
- D3D12_RESOURCE_STATE_VIDEO_PROCESS_READ = 0x40000,
- D3D12_RESOURCE_STATE_VIDEO_PROCESS_WRITE = 0x80000,
- D3D12_RESOURCE_STATE_VIDEO_ENCODE_READ = 0x200000,
- D3D12_RESOURCE_STATE_VIDEO_ENCODE_WRITE = 0x800000
- } D3D12_RESOURCE_STATES;
- DEFINE_ENUM_FLAG_OPERATORS( D3D12_RESOURCE_STATES );
- typedef
- enum D3D12_RESOURCE_BARRIER_TYPE
- {
- D3D12_RESOURCE_BARRIER_TYPE_TRANSITION = 0,
- D3D12_RESOURCE_BARRIER_TYPE_ALIASING = ( D3D12_RESOURCE_BARRIER_TYPE_TRANSITION + 1 ) ,
- D3D12_RESOURCE_BARRIER_TYPE_UAV = ( D3D12_RESOURCE_BARRIER_TYPE_ALIASING + 1 )
- } D3D12_RESOURCE_BARRIER_TYPE;
- typedef struct D3D12_RESOURCE_TRANSITION_BARRIER
- {
- ID3D12Resource *pResource;
- UINT Subresource;
- D3D12_RESOURCE_STATES StateBefore;
- D3D12_RESOURCE_STATES StateAfter;
- } D3D12_RESOURCE_TRANSITION_BARRIER;
- typedef struct D3D12_RESOURCE_ALIASING_BARRIER
- {
- ID3D12Resource *pResourceBefore;
- ID3D12Resource *pResourceAfter;
- } D3D12_RESOURCE_ALIASING_BARRIER;
- typedef struct D3D12_RESOURCE_UAV_BARRIER
- {
- ID3D12Resource *pResource;
- } D3D12_RESOURCE_UAV_BARRIER;
- typedef
- enum D3D12_RESOURCE_BARRIER_FLAGS
- {
- D3D12_RESOURCE_BARRIER_FLAG_NONE = 0,
- D3D12_RESOURCE_BARRIER_FLAG_BEGIN_ONLY = 0x1,
- D3D12_RESOURCE_BARRIER_FLAG_END_ONLY = 0x2
- } D3D12_RESOURCE_BARRIER_FLAGS;
- DEFINE_ENUM_FLAG_OPERATORS( D3D12_RESOURCE_BARRIER_FLAGS );
- typedef struct D3D12_RESOURCE_BARRIER
- {
- D3D12_RESOURCE_BARRIER_TYPE Type;
- D3D12_RESOURCE_BARRIER_FLAGS Flags;
- union
- {
- D3D12_RESOURCE_TRANSITION_BARRIER Transition;
- D3D12_RESOURCE_ALIASING_BARRIER Aliasing;
- D3D12_RESOURCE_UAV_BARRIER UAV;
- } ;
- } D3D12_RESOURCE_BARRIER;
- typedef struct D3D12_SUBRESOURCE_FOOTPRINT
- {
- DXGI_FORMAT Format;
- UINT Width;
- UINT Height;
- UINT Depth;
- UINT RowPitch;
- } D3D12_SUBRESOURCE_FOOTPRINT;
- typedef struct D3D12_PLACED_SUBRESOURCE_FOOTPRINT
- {
- UINT64 Offset;
- D3D12_SUBRESOURCE_FOOTPRINT Footprint;
- } D3D12_PLACED_SUBRESOURCE_FOOTPRINT;
- typedef
- enum D3D12_TEXTURE_COPY_TYPE
- {
- D3D12_TEXTURE_COPY_TYPE_SUBRESOURCE_INDEX = 0,
- D3D12_TEXTURE_COPY_TYPE_PLACED_FOOTPRINT = 1
- } D3D12_TEXTURE_COPY_TYPE;
- typedef struct D3D12_TEXTURE_COPY_LOCATION
- {
- ID3D12Resource *pResource;
- D3D12_TEXTURE_COPY_TYPE Type;
- union
- {
- D3D12_PLACED_SUBRESOURCE_FOOTPRINT PlacedFootprint;
- UINT SubresourceIndex;
- } ;
- } D3D12_TEXTURE_COPY_LOCATION;
- typedef
- enum D3D12_RESOLVE_MODE
- {
- D3D12_RESOLVE_MODE_DECOMPRESS = 0,
- D3D12_RESOLVE_MODE_MIN = 1,
- D3D12_RESOLVE_MODE_MAX = 2,
- D3D12_RESOLVE_MODE_AVERAGE = 3,
- D3D12_RESOLVE_MODE_ENCODE_SAMPLER_FEEDBACK = 4,
- D3D12_RESOLVE_MODE_DECODE_SAMPLER_FEEDBACK = 5
- } D3D12_RESOLVE_MODE;
- typedef struct D3D12_SAMPLE_POSITION
- {
- INT8 X;
- INT8 Y;
- } D3D12_SAMPLE_POSITION;
- typedef struct D3D12_VIEW_INSTANCE_LOCATION
- {
- UINT ViewportArrayIndex;
- UINT RenderTargetArrayIndex;
- } D3D12_VIEW_INSTANCE_LOCATION;
- typedef
- enum D3D12_VIEW_INSTANCING_FLAGS
- {
- D3D12_VIEW_INSTANCING_FLAG_NONE = 0,
- D3D12_VIEW_INSTANCING_FLAG_ENABLE_VIEW_INSTANCE_MASKING = 0x1
- } D3D12_VIEW_INSTANCING_FLAGS;
- DEFINE_ENUM_FLAG_OPERATORS( D3D12_VIEW_INSTANCING_FLAGS );
- typedef struct D3D12_VIEW_INSTANCING_DESC
- {
- UINT ViewInstanceCount;
- _Field_size_full_(ViewInstanceCount) const D3D12_VIEW_INSTANCE_LOCATION *pViewInstanceLocations;
- D3D12_VIEW_INSTANCING_FLAGS Flags;
- } D3D12_VIEW_INSTANCING_DESC;
- typedef
- enum D3D12_SHADER_COMPONENT_MAPPING
- {
- D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_0 = 0,
- D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_1 = 1,
- D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_2 = 2,
- D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_3 = 3,
- D3D12_SHADER_COMPONENT_MAPPING_FORCE_VALUE_0 = 4,
- D3D12_SHADER_COMPONENT_MAPPING_FORCE_VALUE_1 = 5
- } D3D12_SHADER_COMPONENT_MAPPING;
- #define D3D12_SHADER_COMPONENT_MAPPING_MASK 0x7
- #define D3D12_SHADER_COMPONENT_MAPPING_SHIFT 3
- #define D3D12_SHADER_COMPONENT_MAPPING_ALWAYS_SET_BIT_AVOIDING_ZEROMEM_MISTAKES (1<<(D3D12_SHADER_COMPONENT_MAPPING_SHIFT*4))
- #define D3D12_ENCODE_SHADER_4_COMPONENT_MAPPING(Src0,Src1,Src2,Src3) ((((Src0)&D3D12_SHADER_COMPONENT_MAPPING_MASK)| \
- (((Src1)&D3D12_SHADER_COMPONENT_MAPPING_MASK)<<D3D12_SHADER_COMPONENT_MAPPING_SHIFT)| \
- (((Src2)&D3D12_SHADER_COMPONENT_MAPPING_MASK)<<(D3D12_SHADER_COMPONENT_MAPPING_SHIFT*2))| \
- (((Src3)&D3D12_SHADER_COMPONENT_MAPPING_MASK)<<(D3D12_SHADER_COMPONENT_MAPPING_SHIFT*3))| \
- D3D12_SHADER_COMPONENT_MAPPING_ALWAYS_SET_BIT_AVOIDING_ZEROMEM_MISTAKES))
- #define D3D12_DECODE_SHADER_4_COMPONENT_MAPPING(ComponentToExtract,Mapping) ((D3D12_SHADER_COMPONENT_MAPPING)(Mapping >> (D3D12_SHADER_COMPONENT_MAPPING_SHIFT*ComponentToExtract) & D3D12_SHADER_COMPONENT_MAPPING_MASK))
- #define D3D12_DEFAULT_SHADER_4_COMPONENT_MAPPING D3D12_ENCODE_SHADER_4_COMPONENT_MAPPING(0,1,2,3)
- typedef
- enum D3D12_BUFFER_SRV_FLAGS
- {
- D3D12_BUFFER_SRV_FLAG_NONE = 0,
- D3D12_BUFFER_SRV_FLAG_RAW = 0x1
- } D3D12_BUFFER_SRV_FLAGS;
- DEFINE_ENUM_FLAG_OPERATORS( D3D12_BUFFER_SRV_FLAGS );
- typedef struct D3D12_BUFFER_SRV
- {
- UINT64 FirstElement;
- UINT NumElements;
- UINT StructureByteStride;
- D3D12_BUFFER_SRV_FLAGS Flags;
- } D3D12_BUFFER_SRV;
- typedef struct D3D12_TEX1D_SRV
- {
- UINT MostDetailedMip;
- UINT MipLevels;
- FLOAT ResourceMinLODClamp;
- } D3D12_TEX1D_SRV;
- typedef struct D3D12_TEX1D_ARRAY_SRV
- {
- UINT MostDetailedMip;
- UINT MipLevels;
- UINT FirstArraySlice;
- UINT ArraySize;
- FLOAT ResourceMinLODClamp;
- } D3D12_TEX1D_ARRAY_SRV;
- typedef struct D3D12_TEX2D_SRV
- {
- UINT MostDetailedMip;
- UINT MipLevels;
- UINT PlaneSlice;
- FLOAT ResourceMinLODClamp;
- } D3D12_TEX2D_SRV;
- typedef struct D3D12_TEX2D_ARRAY_SRV
- {
- UINT MostDetailedMip;
- UINT MipLevels;
- UINT FirstArraySlice;
- UINT ArraySize;
- UINT PlaneSlice;
- FLOAT ResourceMinLODClamp;
- } D3D12_TEX2D_ARRAY_SRV;
- typedef struct D3D12_TEX3D_SRV
- {
- UINT MostDetailedMip;
- UINT MipLevels;
- FLOAT ResourceMinLODClamp;
- } D3D12_TEX3D_SRV;
- typedef struct D3D12_TEXCUBE_SRV
- {
- UINT MostDetailedMip;
- UINT MipLevels;
- FLOAT ResourceMinLODClamp;
- } D3D12_TEXCUBE_SRV;
- typedef struct D3D12_TEXCUBE_ARRAY_SRV
- {
- UINT MostDetailedMip;
- UINT MipLevels;
- UINT First2DArrayFace;
- UINT NumCubes;
- FLOAT ResourceMinLODClamp;
- } D3D12_TEXCUBE_ARRAY_SRV;
- typedef struct D3D12_TEX2DMS_SRV
- {
- UINT UnusedField_NothingToDefine;
- } D3D12_TEX2DMS_SRV;
- typedef struct D3D12_TEX2DMS_ARRAY_SRV
- {
- UINT FirstArraySlice;
- UINT ArraySize;
- } D3D12_TEX2DMS_ARRAY_SRV;
- typedef struct D3D12_RAYTRACING_ACCELERATION_STRUCTURE_SRV
- {
- D3D12_GPU_VIRTUAL_ADDRESS Location;
- } D3D12_RAYTRACING_ACCELERATION_STRUCTURE_SRV;
- typedef
- enum D3D12_SRV_DIMENSION
- {
- D3D12_SRV_DIMENSION_UNKNOWN = 0,
- D3D12_SRV_DIMENSION_BUFFER = 1,
- D3D12_SRV_DIMENSION_TEXTURE1D = 2,
- D3D12_SRV_DIMENSION_TEXTURE1DARRAY = 3,
- D3D12_SRV_DIMENSION_TEXTURE2D = 4,
- D3D12_SRV_DIMENSION_TEXTURE2DARRAY = 5,
- D3D12_SRV_DIMENSION_TEXTURE2DMS = 6,
- D3D12_SRV_DIMENSION_TEXTURE2DMSARRAY = 7,
- D3D12_SRV_DIMENSION_TEXTURE3D = 8,
- D3D12_SRV_DIMENSION_TEXTURECUBE = 9,
- D3D12_SRV_DIMENSION_TEXTURECUBEARRAY = 10,
- D3D12_SRV_DIMENSION_RAYTRACING_ACCELERATION_STRUCTURE = 11
- } D3D12_SRV_DIMENSION;
- typedef struct D3D12_SHADER_RESOURCE_VIEW_DESC
- {
- DXGI_FORMAT Format;
- D3D12_SRV_DIMENSION ViewDimension;
- UINT Shader4ComponentMapping;
- union
- {
- D3D12_BUFFER_SRV Buffer;
- D3D12_TEX1D_SRV Texture1D;
- D3D12_TEX1D_ARRAY_SRV Texture1DArray;
- D3D12_TEX2D_SRV Texture2D;
- D3D12_TEX2D_ARRAY_SRV Texture2DArray;
- D3D12_TEX2DMS_SRV Texture2DMS;
- D3D12_TEX2DMS_ARRAY_SRV Texture2DMSArray;
- D3D12_TEX3D_SRV Texture3D;
- D3D12_TEXCUBE_SRV TextureCube;
- D3D12_TEXCUBE_ARRAY_SRV TextureCubeArray;
- D3D12_RAYTRACING_ACCELERATION_STRUCTURE_SRV RaytracingAccelerationStructure;
- } ;
- } D3D12_SHADER_RESOURCE_VIEW_DESC;
- typedef struct D3D12_CONSTANT_BUFFER_VIEW_DESC
- {
- D3D12_GPU_VIRTUAL_ADDRESS BufferLocation;
- UINT SizeInBytes;
- } D3D12_CONSTANT_BUFFER_VIEW_DESC;
- typedef
- enum D3D12_FILTER
- {
- D3D12_FILTER_MIN_MAG_MIP_POINT = 0,
- D3D12_FILTER_MIN_MAG_POINT_MIP_LINEAR = 0x1,
- D3D12_FILTER_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x4,
- D3D12_FILTER_MIN_POINT_MAG_MIP_LINEAR = 0x5,
- D3D12_FILTER_MIN_LINEAR_MAG_MIP_POINT = 0x10,
- D3D12_FILTER_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x11,
- D3D12_FILTER_MIN_MAG_LINEAR_MIP_POINT = 0x14,
- D3D12_FILTER_MIN_MAG_MIP_LINEAR = 0x15,
- D3D12_FILTER_MIN_MAG_ANISOTROPIC_MIP_POINT = 0x54,
- D3D12_FILTER_ANISOTROPIC = 0x55,
- D3D12_FILTER_COMPARISON_MIN_MAG_MIP_POINT = 0x80,
- D3D12_FILTER_COMPARISON_MIN_MAG_POINT_MIP_LINEAR = 0x81,
- D3D12_FILTER_COMPARISON_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x84,
- D3D12_FILTER_COMPARISON_MIN_POINT_MAG_MIP_LINEAR = 0x85,
- D3D12_FILTER_COMPARISON_MIN_LINEAR_MAG_MIP_POINT = 0x90,
- D3D12_FILTER_COMPARISON_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x91,
- D3D12_FILTER_COMPARISON_MIN_MAG_LINEAR_MIP_POINT = 0x94,
- D3D12_FILTER_COMPARISON_MIN_MAG_MIP_LINEAR = 0x95,
- D3D12_FILTER_COMPARISON_MIN_MAG_ANISOTROPIC_MIP_POINT = 0xd4,
- D3D12_FILTER_COMPARISON_ANISOTROPIC = 0xd5,
- D3D12_FILTER_MINIMUM_MIN_MAG_MIP_POINT = 0x100,
- D3D12_FILTER_MINIMUM_MIN_MAG_POINT_MIP_LINEAR = 0x101,
- D3D12_FILTER_MINIMUM_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x104,
- D3D12_FILTER_MINIMUM_MIN_POINT_MAG_MIP_LINEAR = 0x105,
- D3D12_FILTER_MINIMUM_MIN_LINEAR_MAG_MIP_POINT = 0x110,
- D3D12_FILTER_MINIMUM_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x111,
- D3D12_FILTER_MINIMUM_MIN_MAG_LINEAR_MIP_POINT = 0x114,
- D3D12_FILTER_MINIMUM_MIN_MAG_MIP_LINEAR = 0x115,
- D3D12_FILTER_MINIMUM_MIN_MAG_ANISOTROPIC_MIP_POINT = 0x154,
- D3D12_FILTER_MINIMUM_ANISOTROPIC = 0x155,
- D3D12_FILTER_MAXIMUM_MIN_MAG_MIP_POINT = 0x180,
- D3D12_FILTER_MAXIMUM_MIN_MAG_POINT_MIP_LINEAR = 0x181,
- D3D12_FILTER_MAXIMUM_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x184,
- D3D12_FILTER_MAXIMUM_MIN_POINT_MAG_MIP_LINEAR = 0x185,
- D3D12_FILTER_MAXIMUM_MIN_LINEAR_MAG_MIP_POINT = 0x190,
- D3D12_FILTER_MAXIMUM_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x191,
- D3D12_FILTER_MAXIMUM_MIN_MAG_LINEAR_MIP_POINT = 0x194,
- D3D12_FILTER_MAXIMUM_MIN_MAG_MIP_LINEAR = 0x195,
- D3D12_FILTER_MAXIMUM_MIN_MAG_ANISOTROPIC_MIP_POINT = 0x1d4,
- D3D12_FILTER_MAXIMUM_ANISOTROPIC = 0x1d5
- } D3D12_FILTER;
- typedef
- enum D3D12_FILTER_TYPE
- {
- D3D12_FILTER_TYPE_POINT = 0,
- D3D12_FILTER_TYPE_LINEAR = 1
- } D3D12_FILTER_TYPE;
- typedef
- enum D3D12_FILTER_REDUCTION_TYPE
- {
- D3D12_FILTER_REDUCTION_TYPE_STANDARD = 0,
- D3D12_FILTER_REDUCTION_TYPE_COMPARISON = 1,
- D3D12_FILTER_REDUCTION_TYPE_MINIMUM = 2,
- D3D12_FILTER_REDUCTION_TYPE_MAXIMUM = 3
- } D3D12_FILTER_REDUCTION_TYPE;
- #define D3D12_FILTER_REDUCTION_TYPE_MASK ( 0x3 )
- #define D3D12_FILTER_REDUCTION_TYPE_SHIFT ( 7 )
- #define D3D12_FILTER_TYPE_MASK ( 0x3 )
- #define D3D12_MIN_FILTER_SHIFT ( 4 )
- #define D3D12_MAG_FILTER_SHIFT ( 2 )
- #define D3D12_MIP_FILTER_SHIFT ( 0 )
- #define D3D12_ANISOTROPIC_FILTERING_BIT ( 0x40 )
- #define D3D12_ENCODE_BASIC_FILTER( min, mag, mip, reduction ) \
- ( ( D3D12_FILTER ) ( \
- ( ( ( min ) & D3D12_FILTER_TYPE_MASK ) << D3D12_MIN_FILTER_SHIFT ) | \
- ( ( ( mag ) & D3D12_FILTER_TYPE_MASK ) << D3D12_MAG_FILTER_SHIFT ) | \
- ( ( ( mip ) & D3D12_FILTER_TYPE_MASK ) << D3D12_MIP_FILTER_SHIFT ) | \
- ( ( ( reduction ) & D3D12_FILTER_REDUCTION_TYPE_MASK ) << D3D12_FILTER_REDUCTION_TYPE_SHIFT ) ) )
- #define D3D12_ENCODE_ANISOTROPIC_FILTER( reduction ) \
- ( ( D3D12_FILTER ) ( \
- D3D12_ANISOTROPIC_FILTERING_BIT | \
- D3D12_ENCODE_BASIC_FILTER( D3D12_FILTER_TYPE_LINEAR, \
- D3D12_FILTER_TYPE_LINEAR, \
- D3D12_FILTER_TYPE_LINEAR, \
- reduction ) ) )
- #define D3D12_ENCODE_MIN_MAG_ANISOTROPIC_MIP_POINT_FILTER( reduction ) \
- ( ( D3D12_FILTER ) ( \
- D3D12_ANISOTROPIC_FILTERING_BIT | \
- D3D12_ENCODE_BASIC_FILTER( D3D12_FILTER_TYPE_LINEAR, \
- D3D12_FILTER_TYPE_LINEAR, \
- D3D12_FILTER_TYPE_POINT, \
- reduction ) ) )
- #define D3D12_DECODE_MIN_FILTER( D3D12Filter ) \
- ( ( D3D12_FILTER_TYPE ) \
- ( ( ( D3D12Filter ) >> D3D12_MIN_FILTER_SHIFT ) & D3D12_FILTER_TYPE_MASK ) )
- #define D3D12_DECODE_MAG_FILTER( D3D12Filter ) \
- ( ( D3D12_FILTER_TYPE ) \
- ( ( ( D3D12Filter ) >> D3D12_MAG_FILTER_SHIFT ) & D3D12_FILTER_TYPE_MASK ) )
- #define D3D12_DECODE_MIP_FILTER( D3D12Filter ) \
- ( ( D3D12_FILTER_TYPE ) \
- ( ( ( D3D12Filter ) >> D3D12_MIP_FILTER_SHIFT ) & D3D12_FILTER_TYPE_MASK ) )
- #define D3D12_DECODE_FILTER_REDUCTION( D3D12Filter ) \
- ( ( D3D12_FILTER_REDUCTION_TYPE ) \
- ( ( ( D3D12Filter ) >> D3D12_FILTER_REDUCTION_TYPE_SHIFT ) & D3D12_FILTER_REDUCTION_TYPE_MASK ) )
- #define D3D12_DECODE_IS_COMPARISON_FILTER( D3D12Filter ) \
- ( D3D12_DECODE_FILTER_REDUCTION( D3D12Filter ) == D3D12_FILTER_REDUCTION_TYPE_COMPARISON )
- #define D3D12_DECODE_IS_ANISOTROPIC_FILTER( D3D12Filter ) \
- ( ( ( D3D12Filter ) & D3D12_ANISOTROPIC_FILTERING_BIT ) && \
- ( D3D12_FILTER_TYPE_LINEAR == D3D12_DECODE_MIN_FILTER( D3D12Filter ) ) && \
- ( D3D12_FILTER_TYPE_LINEAR == D3D12_DECODE_MAG_FILTER( D3D12Filter ) ) )
- typedef
- enum D3D12_TEXTURE_ADDRESS_MODE
- {
- D3D12_TEXTURE_ADDRESS_MODE_WRAP = 1,
- D3D12_TEXTURE_ADDRESS_MODE_MIRROR = 2,
- D3D12_TEXTURE_ADDRESS_MODE_CLAMP = 3,
- D3D12_TEXTURE_ADDRESS_MODE_BORDER = 4,
- D3D12_TEXTURE_ADDRESS_MODE_MIRROR_ONCE = 5
- } D3D12_TEXTURE_ADDRESS_MODE;
- typedef struct D3D12_SAMPLER_DESC
- {
- D3D12_FILTER Filter;
- D3D12_TEXTURE_ADDRESS_MODE AddressU;
- D3D12_TEXTURE_ADDRESS_MODE AddressV;
- D3D12_TEXTURE_ADDRESS_MODE AddressW;
- FLOAT MipLODBias;
- UINT MaxAnisotropy;
- D3D12_COMPARISON_FUNC ComparisonFunc;
- FLOAT BorderColor[ 4 ];
- FLOAT MinLOD;
- FLOAT MaxLOD;
- } D3D12_SAMPLER_DESC;
- typedef
- enum D3D12_SAMPLER_FLAGS
- {
- D3D12_SAMPLER_FLAG_NONE = 0,
- D3D12_SAMPLER_FLAG_UINT_BORDER_COLOR = 0x1,
- D3D12_SAMPLER_FLAG_NON_NORMALIZED_COORDINATES = 0x2
- } D3D12_SAMPLER_FLAGS;
- DEFINE_ENUM_FLAG_OPERATORS( D3D12_SAMPLER_FLAGS );
- typedef struct D3D12_SAMPLER_DESC2
- {
- D3D12_FILTER Filter;
- D3D12_TEXTURE_ADDRESS_MODE AddressU;
- D3D12_TEXTURE_ADDRESS_MODE AddressV;
- D3D12_TEXTURE_ADDRESS_MODE AddressW;
- FLOAT MipLODBias;
- UINT MaxAnisotropy;
- D3D12_COMPARISON_FUNC ComparisonFunc;
- union
- {
- FLOAT FloatBorderColor[ 4 ];
- UINT UintBorderColor[ 4 ];
- } ;
- FLOAT MinLOD;
- FLOAT MaxLOD;
- D3D12_SAMPLER_FLAGS Flags;
- } D3D12_SAMPLER_DESC2;
- typedef
- enum D3D12_BUFFER_UAV_FLAGS
- {
- D3D12_BUFFER_UAV_FLAG_NONE = 0,
- D3D12_BUFFER_UAV_FLAG_RAW = 0x1
- } D3D12_BUFFER_UAV_FLAGS;
- DEFINE_ENUM_FLAG_OPERATORS( D3D12_BUFFER_UAV_FLAGS );
- typedef struct D3D12_BUFFER_UAV
- {
- UINT64 FirstElement;
- UINT NumElements;
- UINT StructureByteStride;
- UINT64 CounterOffsetInBytes;
- D3D12_BUFFER_UAV_FLAGS Flags;
- } D3D12_BUFFER_UAV;
- typedef struct D3D12_TEX1D_UAV
- {
- UINT MipSlice;
- } D3D12_TEX1D_UAV;
- typedef struct D3D12_TEX1D_ARRAY_UAV
- {
- UINT MipSlice;
- UINT FirstArraySlice;
- UINT ArraySize;
- } D3D12_TEX1D_ARRAY_UAV;
- typedef struct D3D12_TEX2D_UAV
- {
- UINT MipSlice;
- UINT PlaneSlice;
- } D3D12_TEX2D_UAV;
- typedef struct D3D12_TEX2D_ARRAY_UAV
- {
- UINT MipSlice;
- UINT FirstArraySlice;
- UINT ArraySize;
- UINT PlaneSlice;
- } D3D12_TEX2D_ARRAY_UAV;
- typedef struct D3D12_TEX2DMS_UAV
- {
- UINT UnusedField_NothingToDefine;
- } D3D12_TEX2DMS_UAV;
- typedef struct D3D12_TEX2DMS_ARRAY_UAV
- {
- UINT FirstArraySlice;
- UINT ArraySize;
- } D3D12_TEX2DMS_ARRAY_UAV;
- typedef struct D3D12_TEX3D_UAV
- {
- UINT MipSlice;
- UINT FirstWSlice;
- UINT WSize;
- } D3D12_TEX3D_UAV;
- typedef
- enum D3D12_UAV_DIMENSION
- {
- D3D12_UAV_DIMENSION_UNKNOWN = 0,
- D3D12_UAV_DIMENSION_BUFFER = 1,
- D3D12_UAV_DIMENSION_TEXTURE1D = 2,
- D3D12_UAV_DIMENSION_TEXTURE1DARRAY = 3,
- D3D12_UAV_DIMENSION_TEXTURE2D = 4,
- D3D12_UAV_DIMENSION_TEXTURE2DARRAY = 5,
- D3D12_UAV_DIMENSION_TEXTURE2DMS = 6,
- D3D12_UAV_DIMENSION_TEXTURE2DMSARRAY = 7,
- D3D12_UAV_DIMENSION_TEXTURE3D = 8
- } D3D12_UAV_DIMENSION;
- typedef struct D3D12_UNORDERED_ACCESS_VIEW_DESC
- {
- DXGI_FORMAT Format;
- D3D12_UAV_DIMENSION ViewDimension;
- union
- {
- D3D12_BUFFER_UAV Buffer;
- D3D12_TEX1D_UAV Texture1D;
- D3D12_TEX1D_ARRAY_UAV Texture1DArray;
- D3D12_TEX2D_UAV Texture2D;
- D3D12_TEX2D_ARRAY_UAV Texture2DArray;
- D3D12_TEX2DMS_UAV Texture2DMS;
- D3D12_TEX2DMS_ARRAY_UAV Texture2DMSArray;
- D3D12_TEX3D_UAV Texture3D;
- } ;
- } D3D12_UNORDERED_ACCESS_VIEW_DESC;
- typedef struct D3D12_BUFFER_RTV
- {
- UINT64 FirstElement;
- UINT NumElements;
- } D3D12_BUFFER_RTV;
- typedef struct D3D12_TEX1D_RTV
- {
- UINT MipSlice;
- } D3D12_TEX1D_RTV;
- typedef struct D3D12_TEX1D_ARRAY_RTV
- {
- UINT MipSlice;
- UINT FirstArraySlice;
- UINT ArraySize;
- } D3D12_TEX1D_ARRAY_RTV;
- typedef struct D3D12_TEX2D_RTV
- {
- UINT MipSlice;
- UINT PlaneSlice;
- } D3D12_TEX2D_RTV;
- typedef struct D3D12_TEX2DMS_RTV
- {
- UINT UnusedField_NothingToDefine;
- } D3D12_TEX2DMS_RTV;
- typedef struct D3D12_TEX2D_ARRAY_RTV
- {
- UINT MipSlice;
- UINT FirstArraySlice;
- UINT ArraySize;
- UINT PlaneSlice;
- } D3D12_TEX2D_ARRAY_RTV;
- typedef struct D3D12_TEX2DMS_ARRAY_RTV
- {
- UINT FirstArraySlice;
- UINT ArraySize;
- } D3D12_TEX2DMS_ARRAY_RTV;
- typedef struct D3D12_TEX3D_RTV
- {
- UINT MipSlice;
- UINT FirstWSlice;
- UINT WSize;
- } D3D12_TEX3D_RTV;
- typedef
- enum D3D12_RTV_DIMENSION
- {
- D3D12_RTV_DIMENSION_UNKNOWN = 0,
- D3D12_RTV_DIMENSION_BUFFER = 1,
- D3D12_RTV_DIMENSION_TEXTURE1D = 2,
- D3D12_RTV_DIMENSION_TEXTURE1DARRAY = 3,
- D3D12_RTV_DIMENSION_TEXTURE2D = 4,
- D3D12_RTV_DIMENSION_TEXTURE2DARRAY = 5,
- D3D12_RTV_DIMENSION_TEXTURE2DMS = 6,
- D3D12_RTV_DIMENSION_TEXTURE2DMSARRAY = 7,
- D3D12_RTV_DIMENSION_TEXTURE3D = 8
- } D3D12_RTV_DIMENSION;
- typedef struct D3D12_RENDER_TARGET_VIEW_DESC
- {
- DXGI_FORMAT Format;
- D3D12_RTV_DIMENSION ViewDimension;
- union
- {
- D3D12_BUFFER_RTV Buffer;
- D3D12_TEX1D_RTV Texture1D;
- D3D12_TEX1D_ARRAY_RTV Texture1DArray;
- D3D12_TEX2D_RTV Texture2D;
- D3D12_TEX2D_ARRAY_RTV Texture2DArray;
- D3D12_TEX2DMS_RTV Texture2DMS;
- D3D12_TEX2DMS_ARRAY_RTV Texture2DMSArray;
- D3D12_TEX3D_RTV Texture3D;
- } ;
- } D3D12_RENDER_TARGET_VIEW_DESC;
- typedef struct D3D12_TEX1D_DSV
- {
- UINT MipSlice;
- } D3D12_TEX1D_DSV;
- typedef struct D3D12_TEX1D_ARRAY_DSV
- {
- UINT MipSlice;
- UINT FirstArraySlice;
- UINT ArraySize;
- } D3D12_TEX1D_ARRAY_DSV;
- typedef struct D3D12_TEX2D_DSV
- {
- UINT MipSlice;
- } D3D12_TEX2D_DSV;
- typedef struct D3D12_TEX2D_ARRAY_DSV
- {
- UINT MipSlice;
- UINT FirstArraySlice;
- UINT ArraySize;
- } D3D12_TEX2D_ARRAY_DSV;
- typedef struct D3D12_TEX2DMS_DSV
- {
- UINT UnusedField_NothingToDefine;
- } D3D12_TEX2DMS_DSV;
- typedef struct D3D12_TEX2DMS_ARRAY_DSV
- {
- UINT FirstArraySlice;
- UINT ArraySize;
- } D3D12_TEX2DMS_ARRAY_DSV;
- typedef
- enum D3D12_DSV_FLAGS
- {
- D3D12_DSV_FLAG_NONE = 0,
- D3D12_DSV_FLAG_READ_ONLY_DEPTH = 0x1,
- D3D12_DSV_FLAG_READ_ONLY_STENCIL = 0x2
- } D3D12_DSV_FLAGS;
- DEFINE_ENUM_FLAG_OPERATORS( D3D12_DSV_FLAGS );
- typedef
- enum D3D12_DSV_DIMENSION
- {
- D3D12_DSV_DIMENSION_UNKNOWN = 0,
- D3D12_DSV_DIMENSION_TEXTURE1D = 1,
- D3D12_DSV_DIMENSION_TEXTURE1DARRAY = 2,
- D3D12_DSV_DIMENSION_TEXTURE2D = 3,
- D3D12_DSV_DIMENSION_TEXTURE2DARRAY = 4,
- D3D12_DSV_DIMENSION_TEXTURE2DMS = 5,
- D3D12_DSV_DIMENSION_TEXTURE2DMSARRAY = 6
- } D3D12_DSV_DIMENSION;
- typedef struct D3D12_DEPTH_STENCIL_VIEW_DESC
- {
- DXGI_FORMAT Format;
- D3D12_DSV_DIMENSION ViewDimension;
- D3D12_DSV_FLAGS Flags;
- union
- {
- D3D12_TEX1D_DSV Texture1D;
- D3D12_TEX1D_ARRAY_DSV Texture1DArray;
- D3D12_TEX2D_DSV Texture2D;
- D3D12_TEX2D_ARRAY_DSV Texture2DArray;
- D3D12_TEX2DMS_DSV Texture2DMS;
- D3D12_TEX2DMS_ARRAY_DSV Texture2DMSArray;
- } ;
- } D3D12_DEPTH_STENCIL_VIEW_DESC;
- typedef
- enum D3D12_CLEAR_FLAGS
- {
- D3D12_CLEAR_FLAG_DEPTH = 0x1,
- D3D12_CLEAR_FLAG_STENCIL = 0x2
- } D3D12_CLEAR_FLAGS;
- DEFINE_ENUM_FLAG_OPERATORS( D3D12_CLEAR_FLAGS );
- typedef
- enum D3D12_FENCE_FLAGS
- {
- D3D12_FENCE_FLAG_NONE = 0,
- D3D12_FENCE_FLAG_SHARED = 0x1,
- D3D12_FENCE_FLAG_SHARED_CROSS_ADAPTER = 0x2,
- D3D12_FENCE_FLAG_NON_MONITORED = 0x4
- } D3D12_FENCE_FLAGS;
- DEFINE_ENUM_FLAG_OPERATORS( D3D12_FENCE_FLAGS );
- typedef
- enum D3D12_DESCRIPTOR_HEAP_TYPE
- {
- D3D12_DESCRIPTOR_HEAP_TYPE_CBV_SRV_UAV = 0,
- D3D12_DESCRIPTOR_HEAP_TYPE_SAMPLER = ( D3D12_DESCRIPTOR_HEAP_TYPE_CBV_SRV_UAV + 1 ) ,
- D3D12_DESCRIPTOR_HEAP_TYPE_RTV = ( D3D12_DESCRIPTOR_HEAP_TYPE_SAMPLER + 1 ) ,
- D3D12_DESCRIPTOR_HEAP_TYPE_DSV = ( D3D12_DESCRIPTOR_HEAP_TYPE_RTV + 1 ) ,
- D3D12_DESCRIPTOR_HEAP_TYPE_NUM_TYPES = ( D3D12_DESCRIPTOR_HEAP_TYPE_DSV + 1 )
- } D3D12_DESCRIPTOR_HEAP_TYPE;
- typedef
- enum D3D12_DESCRIPTOR_HEAP_FLAGS
- {
- D3D12_DESCRIPTOR_HEAP_FLAG_NONE = 0,
- D3D12_DESCRIPTOR_HEAP_FLAG_SHADER_VISIBLE = 0x1
- } D3D12_DESCRIPTOR_HEAP_FLAGS;
- DEFINE_ENUM_FLAG_OPERATORS( D3D12_DESCRIPTOR_HEAP_FLAGS );
- typedef struct D3D12_DESCRIPTOR_HEAP_DESC
- {
- D3D12_DESCRIPTOR_HEAP_TYPE Type;
- UINT NumDescriptors;
- D3D12_DESCRIPTOR_HEAP_FLAGS Flags;
- UINT NodeMask;
- } D3D12_DESCRIPTOR_HEAP_DESC;
- typedef
- enum D3D12_DESCRIPTOR_RANGE_TYPE
- {
- D3D12_DESCRIPTOR_RANGE_TYPE_SRV = 0,
- D3D12_DESCRIPTOR_RANGE_TYPE_UAV = ( D3D12_DESCRIPTOR_RANGE_TYPE_SRV + 1 ) ,
- D3D12_DESCRIPTOR_RANGE_TYPE_CBV = ( D3D12_DESCRIPTOR_RANGE_TYPE_UAV + 1 ) ,
- D3D12_DESCRIPTOR_RANGE_TYPE_SAMPLER = ( D3D12_DESCRIPTOR_RANGE_TYPE_CBV + 1 )
- } D3D12_DESCRIPTOR_RANGE_TYPE;
- typedef struct D3D12_DESCRIPTOR_RANGE
- {
- D3D12_DESCRIPTOR_RANGE_TYPE RangeType;
- UINT NumDescriptors;
- UINT BaseShaderRegister;
- UINT RegisterSpace;
- UINT OffsetInDescriptorsFromTableStart;
- } D3D12_DESCRIPTOR_RANGE;
- typedef struct D3D12_ROOT_DESCRIPTOR_TABLE
- {
- UINT NumDescriptorRanges;
- _Field_size_full_(NumDescriptorRanges) const D3D12_DESCRIPTOR_RANGE *pDescriptorRanges;
- } D3D12_ROOT_DESCRIPTOR_TABLE;
- typedef struct D3D12_ROOT_CONSTANTS
- {
- UINT ShaderRegister;
- UINT RegisterSpace;
- UINT Num32BitValues;
- } D3D12_ROOT_CONSTANTS;
- typedef struct D3D12_ROOT_DESCRIPTOR
- {
- UINT ShaderRegister;
- UINT RegisterSpace;
- } D3D12_ROOT_DESCRIPTOR;
- typedef
- enum D3D12_SHADER_VISIBILITY
- {
- D3D12_SHADER_VISIBILITY_ALL = 0,
- D3D12_SHADER_VISIBILITY_VERTEX = 1,
- D3D12_SHADER_VISIBILITY_HULL = 2,
- D3D12_SHADER_VISIBILITY_DOMAIN = 3,
- D3D12_SHADER_VISIBILITY_GEOMETRY = 4,
- D3D12_SHADER_VISIBILITY_PIXEL = 5,
- D3D12_SHADER_VISIBILITY_AMPLIFICATION = 6,
- D3D12_SHADER_VISIBILITY_MESH = 7
- } D3D12_SHADER_VISIBILITY;
- typedef
- enum D3D12_ROOT_PARAMETER_TYPE
- {
- D3D12_ROOT_PARAMETER_TYPE_DESCRIPTOR_TABLE = 0,
- D3D12_ROOT_PARAMETER_TYPE_32BIT_CONSTANTS = ( D3D12_ROOT_PARAMETER_TYPE_DESCRIPTOR_TABLE + 1 ) ,
- D3D12_ROOT_PARAMETER_TYPE_CBV = ( D3D12_ROOT_PARAMETER_TYPE_32BIT_CONSTANTS + 1 ) ,
- D3D12_ROOT_PARAMETER_TYPE_SRV = ( D3D12_ROOT_PARAMETER_TYPE_CBV + 1 ) ,
- D3D12_ROOT_PARAMETER_TYPE_UAV = ( D3D12_ROOT_PARAMETER_TYPE_SRV + 1 )
- } D3D12_ROOT_PARAMETER_TYPE;
- typedef struct D3D12_ROOT_PARAMETER
- {
- D3D12_ROOT_PARAMETER_TYPE ParameterType;
- union
- {
- D3D12_ROOT_DESCRIPTOR_TABLE DescriptorTable;
- D3D12_ROOT_CONSTANTS Constants;
- D3D12_ROOT_DESCRIPTOR Descriptor;
- } ;
- D3D12_SHADER_VISIBILITY ShaderVisibility;
- } D3D12_ROOT_PARAMETER;
- typedef
- enum D3D12_ROOT_SIGNATURE_FLAGS
- {
- D3D12_ROOT_SIGNATURE_FLAG_NONE = 0,
- D3D12_ROOT_SIGNATURE_FLAG_ALLOW_INPUT_ASSEMBLER_INPUT_LAYOUT = 0x1,
- D3D12_ROOT_SIGNATURE_FLAG_DENY_VERTEX_SHADER_ROOT_ACCESS = 0x2,
- D3D12_ROOT_SIGNATURE_FLAG_DENY_HULL_SHADER_ROOT_ACCESS = 0x4,
- D3D12_ROOT_SIGNATURE_FLAG_DENY_DOMAIN_SHADER_ROOT_ACCESS = 0x8,
- D3D12_ROOT_SIGNATURE_FLAG_DENY_GEOMETRY_SHADER_ROOT_ACCESS = 0x10,
- D3D12_ROOT_SIGNATURE_FLAG_DENY_PIXEL_SHADER_ROOT_ACCESS = 0x20,
- D3D12_ROOT_SIGNATURE_FLAG_ALLOW_STREAM_OUTPUT = 0x40,
- D3D12_ROOT_SIGNATURE_FLAG_LOCAL_ROOT_SIGNATURE = 0x80,
- D3D12_ROOT_SIGNATURE_FLAG_DENY_AMPLIFICATION_SHADER_ROOT_ACCESS = 0x100,
- D3D12_ROOT_SIGNATURE_FLAG_DENY_MESH_SHADER_ROOT_ACCESS = 0x200,
- D3D12_ROOT_SIGNATURE_FLAG_CBV_SRV_UAV_HEAP_DIRECTLY_INDEXED = 0x400,
- D3D12_ROOT_SIGNATURE_FLAG_SAMPLER_HEAP_DIRECTLY_INDEXED = 0x800
- } D3D12_ROOT_SIGNATURE_FLAGS;
- DEFINE_ENUM_FLAG_OPERATORS( D3D12_ROOT_SIGNATURE_FLAGS );
- typedef
- enum D3D12_STATIC_BORDER_COLOR
- {
- D3D12_STATIC_BORDER_COLOR_TRANSPARENT_BLACK = 0,
- D3D12_STATIC_BORDER_COLOR_OPAQUE_BLACK = ( D3D12_STATIC_BORDER_COLOR_TRANSPARENT_BLACK + 1 ) ,
- D3D12_STATIC_BORDER_COLOR_OPAQUE_WHITE = ( D3D12_STATIC_BORDER_COLOR_OPAQUE_BLACK + 1 ) ,
- D3D12_STATIC_BORDER_COLOR_OPAQUE_BLACK_UINT = ( D3D12_STATIC_BORDER_COLOR_OPAQUE_WHITE + 1 ) ,
- D3D12_STATIC_BORDER_COLOR_OPAQUE_WHITE_UINT = ( D3D12_STATIC_BORDER_COLOR_OPAQUE_BLACK_UINT + 1 )
- } D3D12_STATIC_BORDER_COLOR;
- typedef struct D3D12_STATIC_SAMPLER_DESC
- {
- D3D12_FILTER Filter;
- D3D12_TEXTURE_ADDRESS_MODE AddressU;
- D3D12_TEXTURE_ADDRESS_MODE AddressV;
- D3D12_TEXTURE_ADDRESS_MODE AddressW;
- FLOAT MipLODBias;
- UINT MaxAnisotropy;
- D3D12_COMPARISON_FUNC ComparisonFunc;
- D3D12_STATIC_BORDER_COLOR BorderColor;
- FLOAT MinLOD;
- FLOAT MaxLOD;
- UINT ShaderRegister;
- UINT RegisterSpace;
- D3D12_SHADER_VISIBILITY ShaderVisibility;
- } D3D12_STATIC_SAMPLER_DESC;
- typedef struct D3D12_STATIC_SAMPLER_DESC1
- {
- D3D12_FILTER Filter;
- D3D12_TEXTURE_ADDRESS_MODE AddressU;
- D3D12_TEXTURE_ADDRESS_MODE AddressV;
- D3D12_TEXTURE_ADDRESS_MODE AddressW;
- FLOAT MipLODBias;
- UINT MaxAnisotropy;
- D3D12_COMPARISON_FUNC ComparisonFunc;
- D3D12_STATIC_BORDER_COLOR BorderColor;
- FLOAT MinLOD;
- FLOAT MaxLOD;
- UINT ShaderRegister;
- UINT RegisterSpace;
- D3D12_SHADER_VISIBILITY ShaderVisibility;
- D3D12_SAMPLER_FLAGS Flags;
- } D3D12_STATIC_SAMPLER_DESC1;
- typedef struct D3D12_ROOT_SIGNATURE_DESC
- {
- UINT NumParameters;
- _Field_size_full_(NumParameters) const D3D12_ROOT_PARAMETER *pParameters;
- UINT NumStaticSamplers;
- _Field_size_full_(NumStaticSamplers) const D3D12_STATIC_SAMPLER_DESC *pStaticSamplers;
- D3D12_ROOT_SIGNATURE_FLAGS Flags;
- } D3D12_ROOT_SIGNATURE_DESC;
- typedef
- enum D3D12_DESCRIPTOR_RANGE_FLAGS
- {
- D3D12_DESCRIPTOR_RANGE_FLAG_NONE = 0,
- D3D12_DESCRIPTOR_RANGE_FLAG_DESCRIPTORS_VOLATILE = 0x1,
- D3D12_DESCRIPTOR_RANGE_FLAG_DATA_VOLATILE = 0x2,
- D3D12_DESCRIPTOR_RANGE_FLAG_DATA_STATIC_WHILE_SET_AT_EXECUTE = 0x4,
- D3D12_DESCRIPTOR_RANGE_FLAG_DATA_STATIC = 0x8,
- D3D12_DESCRIPTOR_RANGE_FLAG_DESCRIPTORS_STATIC_KEEPING_BUFFER_BOUNDS_CHECKS = 0x10000
- } D3D12_DESCRIPTOR_RANGE_FLAGS;
- DEFINE_ENUM_FLAG_OPERATORS( D3D12_DESCRIPTOR_RANGE_FLAGS );
- typedef struct D3D12_DESCRIPTOR_RANGE1
- {
- D3D12_DESCRIPTOR_RANGE_TYPE RangeType;
- UINT NumDescriptors;
- UINT BaseShaderRegister;
- UINT RegisterSpace;
- D3D12_DESCRIPTOR_RANGE_FLAGS Flags;
- UINT OffsetInDescriptorsFromTableStart;
- } D3D12_DESCRIPTOR_RANGE1;
- typedef struct D3D12_ROOT_DESCRIPTOR_TABLE1
- {
- UINT NumDescriptorRanges;
- _Field_size_full_(NumDescriptorRanges) const D3D12_DESCRIPTOR_RANGE1 *pDescriptorRanges;
- } D3D12_ROOT_DESCRIPTOR_TABLE1;
- typedef
- enum D3D12_ROOT_DESCRIPTOR_FLAGS
- {
- D3D12_ROOT_DESCRIPTOR_FLAG_NONE = 0,
- D3D12_ROOT_DESCRIPTOR_FLAG_DATA_VOLATILE = 0x2,
- D3D12_ROOT_DESCRIPTOR_FLAG_DATA_STATIC_WHILE_SET_AT_EXECUTE = 0x4,
- D3D12_ROOT_DESCRIPTOR_FLAG_DATA_STATIC = 0x8
- } D3D12_ROOT_DESCRIPTOR_FLAGS;
- DEFINE_ENUM_FLAG_OPERATORS( D3D12_ROOT_DESCRIPTOR_FLAGS );
- typedef struct D3D12_ROOT_DESCRIPTOR1
- {
- UINT ShaderRegister;
- UINT RegisterSpace;
- D3D12_ROOT_DESCRIPTOR_FLAGS Flags;
- } D3D12_ROOT_DESCRIPTOR1;
- typedef struct D3D12_ROOT_PARAMETER1
- {
- D3D12_ROOT_PARAMETER_TYPE ParameterType;
- union
- {
- D3D12_ROOT_DESCRIPTOR_TABLE1 DescriptorTable;
- D3D12_ROOT_CONSTANTS Constants;
- D3D12_ROOT_DESCRIPTOR1 Descriptor;
- } ;
- D3D12_SHADER_VISIBILITY ShaderVisibility;
- } D3D12_ROOT_PARAMETER1;
- typedef struct D3D12_ROOT_SIGNATURE_DESC1
- {
- UINT NumParameters;
- _Field_size_full_(NumParameters) const D3D12_ROOT_PARAMETER1 *pParameters;
- UINT NumStaticSamplers;
- _Field_size_full_(NumStaticSamplers) const D3D12_STATIC_SAMPLER_DESC *pStaticSamplers;
- D3D12_ROOT_SIGNATURE_FLAGS Flags;
- } D3D12_ROOT_SIGNATURE_DESC1;
- typedef struct D3D12_ROOT_SIGNATURE_DESC2
- {
- UINT NumParameters;
- _Field_size_full_(NumParameters) const D3D12_ROOT_PARAMETER1 *pParameters;
- UINT NumStaticSamplers;
- _Field_size_full_(NumStaticSamplers) const D3D12_STATIC_SAMPLER_DESC1 *pStaticSamplers;
- D3D12_ROOT_SIGNATURE_FLAGS Flags;
- } D3D12_ROOT_SIGNATURE_DESC2;
- typedef struct D3D12_VERSIONED_ROOT_SIGNATURE_DESC
- {
- D3D_ROOT_SIGNATURE_VERSION Version;
- union
- {
- D3D12_ROOT_SIGNATURE_DESC Desc_1_0;
- D3D12_ROOT_SIGNATURE_DESC1 Desc_1_1;
- D3D12_ROOT_SIGNATURE_DESC2 Desc_1_2;
- } ;
- } D3D12_VERSIONED_ROOT_SIGNATURE_DESC;
- extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0001_v0_0_c_ifspec;
- extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0001_v0_0_s_ifspec;
- #ifndef __ID3D12RootSignatureDeserializer_INTERFACE_DEFINED__
- #define __ID3D12RootSignatureDeserializer_INTERFACE_DEFINED__
- /* interface ID3D12RootSignatureDeserializer */
- /* [unique][local][object][uuid] */
- EXTERN_C const IID IID_ID3D12RootSignatureDeserializer;
- #if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("34AB647B-3CC8-46AC-841B-C0965645C046")
- ID3D12RootSignatureDeserializer : public IUnknown
- {
- public:
- virtual const D3D12_ROOT_SIGNATURE_DESC *STDMETHODCALLTYPE GetRootSignatureDesc( void) = 0;
-
- };
-
-
- #else /* C style interface */
- typedef struct ID3D12RootSignatureDeserializerVtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12RootSignatureDeserializer * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12RootSignatureDeserializer * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12RootSignatureDeserializer * This);
-
- DECLSPEC_XFGVIRT(ID3D12RootSignatureDeserializer, GetRootSignatureDesc)
- const D3D12_ROOT_SIGNATURE_DESC *( STDMETHODCALLTYPE *GetRootSignatureDesc )(
- ID3D12RootSignatureDeserializer * This);
-
- END_INTERFACE
- } ID3D12RootSignatureDeserializerVtbl;
- interface ID3D12RootSignatureDeserializer
- {
- CONST_VTBL struct ID3D12RootSignatureDeserializerVtbl *lpVtbl;
- };
-
- #ifdef COBJMACROS
- #define ID3D12RootSignatureDeserializer_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define ID3D12RootSignatureDeserializer_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define ID3D12RootSignatureDeserializer_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #define ID3D12RootSignatureDeserializer_GetRootSignatureDesc(This) \
- ( (This)->lpVtbl -> GetRootSignatureDesc(This) )
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __ID3D12RootSignatureDeserializer_INTERFACE_DEFINED__ */
- #ifndef __ID3D12VersionedRootSignatureDeserializer_INTERFACE_DEFINED__
- #define __ID3D12VersionedRootSignatureDeserializer_INTERFACE_DEFINED__
- /* interface ID3D12VersionedRootSignatureDeserializer */
- /* [unique][local][object][uuid] */
- EXTERN_C const IID IID_ID3D12VersionedRootSignatureDeserializer;
- #if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("7F91CE67-090C-4BB7-B78E-ED8FF2E31DA0")
- ID3D12VersionedRootSignatureDeserializer : public IUnknown
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE GetRootSignatureDescAtVersion(
- D3D_ROOT_SIGNATURE_VERSION convertToVersion,
- _Out_ const D3D12_VERSIONED_ROOT_SIGNATURE_DESC **ppDesc) = 0;
-
- virtual const D3D12_VERSIONED_ROOT_SIGNATURE_DESC *STDMETHODCALLTYPE GetUnconvertedRootSignatureDesc( void) = 0;
-
- };
-
-
- #else /* C style interface */
- typedef struct ID3D12VersionedRootSignatureDeserializerVtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12VersionedRootSignatureDeserializer * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12VersionedRootSignatureDeserializer * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12VersionedRootSignatureDeserializer * This);
-
- DECLSPEC_XFGVIRT(ID3D12VersionedRootSignatureDeserializer, GetRootSignatureDescAtVersion)
- HRESULT ( STDMETHODCALLTYPE *GetRootSignatureDescAtVersion )(
- ID3D12VersionedRootSignatureDeserializer * This,
- D3D_ROOT_SIGNATURE_VERSION convertToVersion,
- _Out_ const D3D12_VERSIONED_ROOT_SIGNATURE_DESC **ppDesc);
-
- DECLSPEC_XFGVIRT(ID3D12VersionedRootSignatureDeserializer, GetUnconvertedRootSignatureDesc)
- const D3D12_VERSIONED_ROOT_SIGNATURE_DESC *( STDMETHODCALLTYPE *GetUnconvertedRootSignatureDesc )(
- ID3D12VersionedRootSignatureDeserializer * This);
-
- END_INTERFACE
- } ID3D12VersionedRootSignatureDeserializerVtbl;
- interface ID3D12VersionedRootSignatureDeserializer
- {
- CONST_VTBL struct ID3D12VersionedRootSignatureDeserializerVtbl *lpVtbl;
- };
-
- #ifdef COBJMACROS
- #define ID3D12VersionedRootSignatureDeserializer_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define ID3D12VersionedRootSignatureDeserializer_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define ID3D12VersionedRootSignatureDeserializer_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #define ID3D12VersionedRootSignatureDeserializer_GetRootSignatureDescAtVersion(This,convertToVersion,ppDesc) \
- ( (This)->lpVtbl -> GetRootSignatureDescAtVersion(This,convertToVersion,ppDesc) )
- #define ID3D12VersionedRootSignatureDeserializer_GetUnconvertedRootSignatureDesc(This) \
- ( (This)->lpVtbl -> GetUnconvertedRootSignatureDesc(This) )
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __ID3D12VersionedRootSignatureDeserializer_INTERFACE_DEFINED__ */
- /* interface __MIDL_itf_d3d12_0000_0003 */
- /* [local] */
- typedef HRESULT (WINAPI* PFN_D3D12_SERIALIZE_ROOT_SIGNATURE)(
- _In_ const D3D12_ROOT_SIGNATURE_DESC* pRootSignature,
- _In_ D3D_ROOT_SIGNATURE_VERSION Version,
- _Out_ ID3DBlob** ppBlob,
- _Always_(_Outptr_opt_result_maybenull_) ID3DBlob** ppErrorBlob);
- HRESULT WINAPI D3D12SerializeRootSignature(
- _In_ const D3D12_ROOT_SIGNATURE_DESC* pRootSignature,
- _In_ D3D_ROOT_SIGNATURE_VERSION Version,
- _Out_ ID3DBlob** ppBlob,
- _Always_(_Outptr_opt_result_maybenull_) ID3DBlob** ppErrorBlob);
- typedef HRESULT (WINAPI* PFN_D3D12_CREATE_ROOT_SIGNATURE_DESERIALIZER)(
- _In_reads_bytes_(SrcDataSizeInBytes) LPCVOID pSrcData,
- _In_ SIZE_T SrcDataSizeInBytes,
- _In_ REFIID pRootSignatureDeserializerInterface,
- _Out_ void** ppRootSignatureDeserializer);
- HRESULT WINAPI D3D12CreateRootSignatureDeserializer(
- _In_reads_bytes_(SrcDataSizeInBytes) LPCVOID pSrcData,
- _In_ SIZE_T SrcDataSizeInBytes,
- _In_ REFIID pRootSignatureDeserializerInterface,
- _Out_ void** ppRootSignatureDeserializer);
- typedef HRESULT (WINAPI* PFN_D3D12_SERIALIZE_VERSIONED_ROOT_SIGNATURE)(
- _In_ const D3D12_VERSIONED_ROOT_SIGNATURE_DESC* pRootSignature,
- _Out_ ID3DBlob** ppBlob,
- _Always_(_Outptr_opt_result_maybenull_) ID3DBlob** ppErrorBlob);
- HRESULT WINAPI D3D12SerializeVersionedRootSignature(
- _In_ const D3D12_VERSIONED_ROOT_SIGNATURE_DESC* pRootSignature,
- _Out_ ID3DBlob** ppBlob,
- _Always_(_Outptr_opt_result_maybenull_) ID3DBlob** ppErrorBlob);
- typedef HRESULT (WINAPI* PFN_D3D12_CREATE_VERSIONED_ROOT_SIGNATURE_DESERIALIZER)(
- _In_reads_bytes_(SrcDataSizeInBytes) LPCVOID pSrcData,
- _In_ SIZE_T SrcDataSizeInBytes,
- _In_ REFIID pRootSignatureDeserializerInterface,
- _Out_ void** ppRootSignatureDeserializer);
- HRESULT WINAPI D3D12CreateVersionedRootSignatureDeserializer(
- _In_reads_bytes_(SrcDataSizeInBytes) LPCVOID pSrcData,
- _In_ SIZE_T SrcDataSizeInBytes,
- _In_ REFIID pRootSignatureDeserializerInterface,
- _Out_ void** ppRootSignatureDeserializer);
- typedef struct D3D12_CPU_DESCRIPTOR_HANDLE
- {
- SIZE_T ptr;
- } D3D12_CPU_DESCRIPTOR_HANDLE;
- typedef struct D3D12_GPU_DESCRIPTOR_HANDLE
- {
- UINT64 ptr;
- } D3D12_GPU_DESCRIPTOR_HANDLE;
- // If rects are supplied in D3D12_DISCARD_REGION, below, the resource
- // must have 2D subresources with all specified subresources the same dimension.
- typedef struct D3D12_DISCARD_REGION
- {
- UINT NumRects;
- _In_reads_(NumRects) const D3D12_RECT *pRects;
- UINT FirstSubresource;
- UINT NumSubresources;
- } D3D12_DISCARD_REGION;
- typedef
- enum D3D12_QUERY_HEAP_TYPE
- {
- D3D12_QUERY_HEAP_TYPE_OCCLUSION = 0,
- D3D12_QUERY_HEAP_TYPE_TIMESTAMP = 1,
- D3D12_QUERY_HEAP_TYPE_PIPELINE_STATISTICS = 2,
- D3D12_QUERY_HEAP_TYPE_SO_STATISTICS = 3,
- D3D12_QUERY_HEAP_TYPE_VIDEO_DECODE_STATISTICS = 4,
- D3D12_QUERY_HEAP_TYPE_COPY_QUEUE_TIMESTAMP = 5,
- D3D12_QUERY_HEAP_TYPE_PIPELINE_STATISTICS1 = 7
- } D3D12_QUERY_HEAP_TYPE;
- typedef struct D3D12_QUERY_HEAP_DESC
- {
- D3D12_QUERY_HEAP_TYPE Type;
- UINT Count;
- UINT NodeMask;
- } D3D12_QUERY_HEAP_DESC;
- typedef
- enum D3D12_QUERY_TYPE
- {
- D3D12_QUERY_TYPE_OCCLUSION = 0,
- D3D12_QUERY_TYPE_BINARY_OCCLUSION = 1,
- D3D12_QUERY_TYPE_TIMESTAMP = 2,
- D3D12_QUERY_TYPE_PIPELINE_STATISTICS = 3,
- D3D12_QUERY_TYPE_SO_STATISTICS_STREAM0 = 4,
- D3D12_QUERY_TYPE_SO_STATISTICS_STREAM1 = 5,
- D3D12_QUERY_TYPE_SO_STATISTICS_STREAM2 = 6,
- D3D12_QUERY_TYPE_SO_STATISTICS_STREAM3 = 7,
- D3D12_QUERY_TYPE_VIDEO_DECODE_STATISTICS = 8,
- D3D12_QUERY_TYPE_PIPELINE_STATISTICS1 = 10
- } D3D12_QUERY_TYPE;
- typedef
- enum D3D12_PREDICATION_OP
- {
- D3D12_PREDICATION_OP_EQUAL_ZERO = 0,
- D3D12_PREDICATION_OP_NOT_EQUAL_ZERO = 1
- } D3D12_PREDICATION_OP;
- typedef struct D3D12_QUERY_DATA_PIPELINE_STATISTICS
- {
- UINT64 IAVertices;
- UINT64 IAPrimitives;
- UINT64 VSInvocations;
- UINT64 GSInvocations;
- UINT64 GSPrimitives;
- UINT64 CInvocations;
- UINT64 CPrimitives;
- UINT64 PSInvocations;
- UINT64 HSInvocations;
- UINT64 DSInvocations;
- UINT64 CSInvocations;
- } D3D12_QUERY_DATA_PIPELINE_STATISTICS;
- typedef struct D3D12_QUERY_DATA_PIPELINE_STATISTICS1
- {
- UINT64 IAVertices;
- UINT64 IAPrimitives;
- UINT64 VSInvocations;
- UINT64 GSInvocations;
- UINT64 GSPrimitives;
- UINT64 CInvocations;
- UINT64 CPrimitives;
- UINT64 PSInvocations;
- UINT64 HSInvocations;
- UINT64 DSInvocations;
- UINT64 CSInvocations;
- UINT64 ASInvocations;
- UINT64 MSInvocations;
- UINT64 MSPrimitives;
- } D3D12_QUERY_DATA_PIPELINE_STATISTICS1;
- typedef struct D3D12_QUERY_DATA_SO_STATISTICS
- {
- UINT64 NumPrimitivesWritten;
- UINT64 PrimitivesStorageNeeded;
- } D3D12_QUERY_DATA_SO_STATISTICS;
- typedef struct D3D12_STREAM_OUTPUT_BUFFER_VIEW
- {
- D3D12_GPU_VIRTUAL_ADDRESS BufferLocation;
- UINT64 SizeInBytes;
- D3D12_GPU_VIRTUAL_ADDRESS BufferFilledSizeLocation;
- } D3D12_STREAM_OUTPUT_BUFFER_VIEW;
- typedef struct D3D12_DRAW_ARGUMENTS
- {
- UINT VertexCountPerInstance;
- UINT InstanceCount;
- UINT StartVertexLocation;
- UINT StartInstanceLocation;
- } D3D12_DRAW_ARGUMENTS;
- typedef struct D3D12_DRAW_INDEXED_ARGUMENTS
- {
- UINT IndexCountPerInstance;
- UINT InstanceCount;
- UINT StartIndexLocation;
- INT BaseVertexLocation;
- UINT StartInstanceLocation;
- } D3D12_DRAW_INDEXED_ARGUMENTS;
- typedef struct D3D12_DISPATCH_ARGUMENTS
- {
- UINT ThreadGroupCountX;
- UINT ThreadGroupCountY;
- UINT ThreadGroupCountZ;
- } D3D12_DISPATCH_ARGUMENTS;
- typedef struct D3D12_VERTEX_BUFFER_VIEW
- {
- D3D12_GPU_VIRTUAL_ADDRESS BufferLocation;
- UINT SizeInBytes;
- UINT StrideInBytes;
- } D3D12_VERTEX_BUFFER_VIEW;
- typedef struct D3D12_INDEX_BUFFER_VIEW
- {
- D3D12_GPU_VIRTUAL_ADDRESS BufferLocation;
- UINT SizeInBytes;
- DXGI_FORMAT Format;
- } D3D12_INDEX_BUFFER_VIEW;
- typedef
- enum D3D12_INDIRECT_ARGUMENT_TYPE
- {
- D3D12_INDIRECT_ARGUMENT_TYPE_DRAW = 0,
- D3D12_INDIRECT_ARGUMENT_TYPE_DRAW_INDEXED = ( D3D12_INDIRECT_ARGUMENT_TYPE_DRAW + 1 ) ,
- D3D12_INDIRECT_ARGUMENT_TYPE_DISPATCH = ( D3D12_INDIRECT_ARGUMENT_TYPE_DRAW_INDEXED + 1 ) ,
- D3D12_INDIRECT_ARGUMENT_TYPE_VERTEX_BUFFER_VIEW = ( D3D12_INDIRECT_ARGUMENT_TYPE_DISPATCH + 1 ) ,
- D3D12_INDIRECT_ARGUMENT_TYPE_INDEX_BUFFER_VIEW = ( D3D12_INDIRECT_ARGUMENT_TYPE_VERTEX_BUFFER_VIEW + 1 ) ,
- D3D12_INDIRECT_ARGUMENT_TYPE_CONSTANT = ( D3D12_INDIRECT_ARGUMENT_TYPE_INDEX_BUFFER_VIEW + 1 ) ,
- D3D12_INDIRECT_ARGUMENT_TYPE_CONSTANT_BUFFER_VIEW = ( D3D12_INDIRECT_ARGUMENT_TYPE_CONSTANT + 1 ) ,
- D3D12_INDIRECT_ARGUMENT_TYPE_SHADER_RESOURCE_VIEW = ( D3D12_INDIRECT_ARGUMENT_TYPE_CONSTANT_BUFFER_VIEW + 1 ) ,
- D3D12_INDIRECT_ARGUMENT_TYPE_UNORDERED_ACCESS_VIEW = ( D3D12_INDIRECT_ARGUMENT_TYPE_SHADER_RESOURCE_VIEW + 1 ) ,
- D3D12_INDIRECT_ARGUMENT_TYPE_DISPATCH_RAYS = ( D3D12_INDIRECT_ARGUMENT_TYPE_UNORDERED_ACCESS_VIEW + 1 ) ,
- D3D12_INDIRECT_ARGUMENT_TYPE_DISPATCH_MESH = ( D3D12_INDIRECT_ARGUMENT_TYPE_DISPATCH_RAYS + 1 )
- } D3D12_INDIRECT_ARGUMENT_TYPE;
- typedef struct D3D12_INDIRECT_ARGUMENT_DESC
- {
- D3D12_INDIRECT_ARGUMENT_TYPE Type;
- union
- {
- struct
- {
- UINT Slot;
- } VertexBuffer;
- struct
- {
- UINT RootParameterIndex;
- UINT DestOffsetIn32BitValues;
- UINT Num32BitValuesToSet;
- } Constant;
- struct
- {
- UINT RootParameterIndex;
- } ConstantBufferView;
- struct
- {
- UINT RootParameterIndex;
- } ShaderResourceView;
- struct
- {
- UINT RootParameterIndex;
- } UnorderedAccessView;
- } ;
- } D3D12_INDIRECT_ARGUMENT_DESC;
- typedef struct D3D12_COMMAND_SIGNATURE_DESC
- {
- UINT ByteStride;
- UINT NumArgumentDescs;
- _Field_size_full_(NumArgumentDescs) const D3D12_INDIRECT_ARGUMENT_DESC *pArgumentDescs;
- UINT NodeMask;
- } D3D12_COMMAND_SIGNATURE_DESC;
- extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0003_v0_0_c_ifspec;
- extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0003_v0_0_s_ifspec;
- #ifndef __ID3D12Pageable_INTERFACE_DEFINED__
- #define __ID3D12Pageable_INTERFACE_DEFINED__
- /* interface ID3D12Pageable */
- /* [unique][local][object][uuid] */
- EXTERN_C const IID IID_ID3D12Pageable;
- #if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("63ee58fb-1268-4835-86da-f008ce62f0d6")
- ID3D12Pageable : public ID3D12DeviceChild
- {
- public:
- };
-
-
- #else /* C style interface */
- typedef struct ID3D12PageableVtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12Pageable * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12Pageable * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12Pageable * This);
-
- DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12Pageable * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12Pageable * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12Pageable * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetName)
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12Pageable * This,
- _In_z_ LPCWSTR Name);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice)
- HRESULT ( STDMETHODCALLTYPE *GetDevice )(
- ID3D12Pageable * This,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvDevice);
-
- END_INTERFACE
- } ID3D12PageableVtbl;
- interface ID3D12Pageable
- {
- CONST_VTBL struct ID3D12PageableVtbl *lpVtbl;
- };
-
- #ifdef COBJMACROS
- #define ID3D12Pageable_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define ID3D12Pageable_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define ID3D12Pageable_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #define ID3D12Pageable_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
- #define ID3D12Pageable_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
- #define ID3D12Pageable_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
- #define ID3D12Pageable_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
- #define ID3D12Pageable_GetDevice(This,riid,ppvDevice) \
- ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __ID3D12Pageable_INTERFACE_DEFINED__ */
- #ifndef __ID3D12Heap_INTERFACE_DEFINED__
- #define __ID3D12Heap_INTERFACE_DEFINED__
- /* interface ID3D12Heap */
- /* [unique][local][object][uuid] */
- EXTERN_C const IID IID_ID3D12Heap;
- #if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("6b3b2502-6e51-45b3-90ee-9884265e8df3")
- ID3D12Heap : public ID3D12Pageable
- {
- public:
- #if defined(_MSC_VER) || !defined(_WIN32)
- virtual D3D12_HEAP_DESC STDMETHODCALLTYPE GetDesc( void) = 0;
- #else
- virtual D3D12_HEAP_DESC *STDMETHODCALLTYPE GetDesc(
- D3D12_HEAP_DESC * RetVal) = 0;
- #endif
-
- };
-
-
- #else /* C style interface */
- typedef struct ID3D12HeapVtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12Heap * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12Heap * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12Heap * This);
-
- DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12Heap * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12Heap * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12Heap * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetName)
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12Heap * This,
- _In_z_ LPCWSTR Name);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice)
- HRESULT ( STDMETHODCALLTYPE *GetDevice )(
- ID3D12Heap * This,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvDevice);
-
- DECLSPEC_XFGVIRT(ID3D12Heap, GetDesc)
- #if !defined(_WIN32)
- D3D12_HEAP_DESC ( STDMETHODCALLTYPE *GetDesc )(
- ID3D12Heap * This);
-
- #else
- D3D12_HEAP_DESC *( STDMETHODCALLTYPE *GetDesc )(
- ID3D12Heap * This,
- D3D12_HEAP_DESC * RetVal);
-
- #endif
-
- END_INTERFACE
- } ID3D12HeapVtbl;
- interface ID3D12Heap
- {
- CONST_VTBL struct ID3D12HeapVtbl *lpVtbl;
- };
-
- #ifdef COBJMACROS
- #define ID3D12Heap_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define ID3D12Heap_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define ID3D12Heap_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #define ID3D12Heap_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
- #define ID3D12Heap_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
- #define ID3D12Heap_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
- #define ID3D12Heap_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
- #define ID3D12Heap_GetDevice(This,riid,ppvDevice) \
- ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
- #if !defined(_WIN32)
- #define ID3D12Heap_GetDesc(This) \
- ( (This)->lpVtbl -> GetDesc(This) )
- #else
- #define ID3D12Heap_GetDesc(This,RetVal) \
- ( (This)->lpVtbl -> GetDesc(This,RetVal) )
- #endif
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __ID3D12Heap_INTERFACE_DEFINED__ */
- #ifndef __ID3D12Resource_INTERFACE_DEFINED__
- #define __ID3D12Resource_INTERFACE_DEFINED__
- /* interface ID3D12Resource */
- /* [unique][local][object][uuid] */
- EXTERN_C const IID IID_ID3D12Resource;
- #if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("696442be-a72e-4059-bc79-5b5c98040fad")
- ID3D12Resource : public ID3D12Pageable
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE Map(
- UINT Subresource,
- _In_opt_ const D3D12_RANGE *pReadRange,
- _Outptr_opt_result_bytebuffer_(_Inexpressible_("Dependent on resource")) void **ppData) = 0;
-
- virtual void STDMETHODCALLTYPE Unmap(
- UINT Subresource,
- _In_opt_ const D3D12_RANGE *pWrittenRange) = 0;
-
- #if defined(_MSC_VER) || !defined(_WIN32)
- virtual D3D12_RESOURCE_DESC STDMETHODCALLTYPE GetDesc( void) = 0;
- #else
- virtual D3D12_RESOURCE_DESC *STDMETHODCALLTYPE GetDesc(
- D3D12_RESOURCE_DESC * RetVal) = 0;
- #endif
-
- virtual D3D12_GPU_VIRTUAL_ADDRESS STDMETHODCALLTYPE GetGPUVirtualAddress( void) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE WriteToSubresource(
- UINT DstSubresource,
- _In_opt_ const D3D12_BOX *pDstBox,
- _In_ const void *pSrcData,
- UINT SrcRowPitch,
- UINT SrcDepthPitch) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE ReadFromSubresource(
- _Out_ void *pDstData,
- UINT DstRowPitch,
- UINT DstDepthPitch,
- UINT SrcSubresource,
- _In_opt_ const D3D12_BOX *pSrcBox) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetHeapProperties(
- _Out_opt_ D3D12_HEAP_PROPERTIES *pHeapProperties,
- _Out_opt_ D3D12_HEAP_FLAGS *pHeapFlags) = 0;
-
- };
-
-
- #else /* C style interface */
- typedef struct ID3D12ResourceVtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12Resource * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12Resource * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12Resource * This);
-
- DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12Resource * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12Resource * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12Resource * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetName)
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12Resource * This,
- _In_z_ LPCWSTR Name);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice)
- HRESULT ( STDMETHODCALLTYPE *GetDevice )(
- ID3D12Resource * This,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvDevice);
-
- DECLSPEC_XFGVIRT(ID3D12Resource, Map)
- HRESULT ( STDMETHODCALLTYPE *Map )(
- ID3D12Resource * This,
- UINT Subresource,
- _In_opt_ const D3D12_RANGE *pReadRange,
- _Outptr_opt_result_bytebuffer_(_Inexpressible_("Dependent on resource")) void **ppData);
-
- DECLSPEC_XFGVIRT(ID3D12Resource, Unmap)
- void ( STDMETHODCALLTYPE *Unmap )(
- ID3D12Resource * This,
- UINT Subresource,
- _In_opt_ const D3D12_RANGE *pWrittenRange);
-
- DECLSPEC_XFGVIRT(ID3D12Resource, GetDesc)
- #if !defined(_WIN32)
- D3D12_RESOURCE_DESC ( STDMETHODCALLTYPE *GetDesc )(
- ID3D12Resource * This);
-
- #else
- D3D12_RESOURCE_DESC *( STDMETHODCALLTYPE *GetDesc )(
- ID3D12Resource * This,
- D3D12_RESOURCE_DESC * RetVal);
-
- #endif
-
- DECLSPEC_XFGVIRT(ID3D12Resource, GetGPUVirtualAddress)
- D3D12_GPU_VIRTUAL_ADDRESS ( STDMETHODCALLTYPE *GetGPUVirtualAddress )(
- ID3D12Resource * This);
-
- DECLSPEC_XFGVIRT(ID3D12Resource, WriteToSubresource)
- HRESULT ( STDMETHODCALLTYPE *WriteToSubresource )(
- ID3D12Resource * This,
- UINT DstSubresource,
- _In_opt_ const D3D12_BOX *pDstBox,
- _In_ const void *pSrcData,
- UINT SrcRowPitch,
- UINT SrcDepthPitch);
-
- DECLSPEC_XFGVIRT(ID3D12Resource, ReadFromSubresource)
- HRESULT ( STDMETHODCALLTYPE *ReadFromSubresource )(
- ID3D12Resource * This,
- _Out_ void *pDstData,
- UINT DstRowPitch,
- UINT DstDepthPitch,
- UINT SrcSubresource,
- _In_opt_ const D3D12_BOX *pSrcBox);
-
- DECLSPEC_XFGVIRT(ID3D12Resource, GetHeapProperties)
- HRESULT ( STDMETHODCALLTYPE *GetHeapProperties )(
- ID3D12Resource * This,
- _Out_opt_ D3D12_HEAP_PROPERTIES *pHeapProperties,
- _Out_opt_ D3D12_HEAP_FLAGS *pHeapFlags);
-
- END_INTERFACE
- } ID3D12ResourceVtbl;
- interface ID3D12Resource
- {
- CONST_VTBL struct ID3D12ResourceVtbl *lpVtbl;
- };
-
- #ifdef COBJMACROS
- #define ID3D12Resource_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define ID3D12Resource_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define ID3D12Resource_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #define ID3D12Resource_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
- #define ID3D12Resource_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
- #define ID3D12Resource_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
- #define ID3D12Resource_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
- #define ID3D12Resource_GetDevice(This,riid,ppvDevice) \
- ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
- #define ID3D12Resource_Map(This,Subresource,pReadRange,ppData) \
- ( (This)->lpVtbl -> Map(This,Subresource,pReadRange,ppData) )
- #define ID3D12Resource_Unmap(This,Subresource,pWrittenRange) \
- ( (This)->lpVtbl -> Unmap(This,Subresource,pWrittenRange) )
- #if !defined(_WIN32)
- #define ID3D12Resource_GetDesc(This) \
- ( (This)->lpVtbl -> GetDesc(This) )
- #else
- #define ID3D12Resource_GetDesc(This,RetVal) \
- ( (This)->lpVtbl -> GetDesc(This,RetVal) )
- #endif
- #define ID3D12Resource_GetGPUVirtualAddress(This) \
- ( (This)->lpVtbl -> GetGPUVirtualAddress(This) )
- #define ID3D12Resource_WriteToSubresource(This,DstSubresource,pDstBox,pSrcData,SrcRowPitch,SrcDepthPitch) \
- ( (This)->lpVtbl -> WriteToSubresource(This,DstSubresource,pDstBox,pSrcData,SrcRowPitch,SrcDepthPitch) )
- #define ID3D12Resource_ReadFromSubresource(This,pDstData,DstRowPitch,DstDepthPitch,SrcSubresource,pSrcBox) \
- ( (This)->lpVtbl -> ReadFromSubresource(This,pDstData,DstRowPitch,DstDepthPitch,SrcSubresource,pSrcBox) )
- #define ID3D12Resource_GetHeapProperties(This,pHeapProperties,pHeapFlags) \
- ( (This)->lpVtbl -> GetHeapProperties(This,pHeapProperties,pHeapFlags) )
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __ID3D12Resource_INTERFACE_DEFINED__ */
- #ifndef __ID3D12CommandAllocator_INTERFACE_DEFINED__
- #define __ID3D12CommandAllocator_INTERFACE_DEFINED__
- /* interface ID3D12CommandAllocator */
- /* [unique][local][object][uuid] */
- EXTERN_C const IID IID_ID3D12CommandAllocator;
- #if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("6102dee4-af59-4b09-b999-b44d73f09b24")
- ID3D12CommandAllocator : public ID3D12Pageable
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
-
- };
-
-
- #else /* C style interface */
- typedef struct ID3D12CommandAllocatorVtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12CommandAllocator * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12CommandAllocator * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12CommandAllocator * This);
-
- DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12CommandAllocator * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12CommandAllocator * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12CommandAllocator * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetName)
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12CommandAllocator * This,
- _In_z_ LPCWSTR Name);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice)
- HRESULT ( STDMETHODCALLTYPE *GetDevice )(
- ID3D12CommandAllocator * This,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvDevice);
-
- DECLSPEC_XFGVIRT(ID3D12CommandAllocator, Reset)
- HRESULT ( STDMETHODCALLTYPE *Reset )(
- ID3D12CommandAllocator * This);
-
- END_INTERFACE
- } ID3D12CommandAllocatorVtbl;
- interface ID3D12CommandAllocator
- {
- CONST_VTBL struct ID3D12CommandAllocatorVtbl *lpVtbl;
- };
-
- #ifdef COBJMACROS
- #define ID3D12CommandAllocator_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define ID3D12CommandAllocator_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define ID3D12CommandAllocator_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #define ID3D12CommandAllocator_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
- #define ID3D12CommandAllocator_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
- #define ID3D12CommandAllocator_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
- #define ID3D12CommandAllocator_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
- #define ID3D12CommandAllocator_GetDevice(This,riid,ppvDevice) \
- ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
- #define ID3D12CommandAllocator_Reset(This) \
- ( (This)->lpVtbl -> Reset(This) )
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __ID3D12CommandAllocator_INTERFACE_DEFINED__ */
- #ifndef __ID3D12Fence_INTERFACE_DEFINED__
- #define __ID3D12Fence_INTERFACE_DEFINED__
- /* interface ID3D12Fence */
- /* [unique][local][object][uuid] */
- EXTERN_C const IID IID_ID3D12Fence;
- #if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("0a753dcf-c4d8-4b91-adf6-be5a60d95a76")
- ID3D12Fence : public ID3D12Pageable
- {
- public:
- virtual UINT64 STDMETHODCALLTYPE GetCompletedValue( void) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE SetEventOnCompletion(
- UINT64 Value,
- HANDLE hEvent) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE Signal(
- UINT64 Value) = 0;
-
- };
-
-
- #else /* C style interface */
- typedef struct ID3D12FenceVtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12Fence * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12Fence * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12Fence * This);
-
- DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12Fence * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12Fence * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12Fence * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetName)
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12Fence * This,
- _In_z_ LPCWSTR Name);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice)
- HRESULT ( STDMETHODCALLTYPE *GetDevice )(
- ID3D12Fence * This,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvDevice);
-
- DECLSPEC_XFGVIRT(ID3D12Fence, GetCompletedValue)
- UINT64 ( STDMETHODCALLTYPE *GetCompletedValue )(
- ID3D12Fence * This);
-
- DECLSPEC_XFGVIRT(ID3D12Fence, SetEventOnCompletion)
- HRESULT ( STDMETHODCALLTYPE *SetEventOnCompletion )(
- ID3D12Fence * This,
- UINT64 Value,
- HANDLE hEvent);
-
- DECLSPEC_XFGVIRT(ID3D12Fence, Signal)
- HRESULT ( STDMETHODCALLTYPE *Signal )(
- ID3D12Fence * This,
- UINT64 Value);
-
- END_INTERFACE
- } ID3D12FenceVtbl;
- interface ID3D12Fence
- {
- CONST_VTBL struct ID3D12FenceVtbl *lpVtbl;
- };
-
- #ifdef COBJMACROS
- #define ID3D12Fence_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define ID3D12Fence_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define ID3D12Fence_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #define ID3D12Fence_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
- #define ID3D12Fence_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
- #define ID3D12Fence_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
- #define ID3D12Fence_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
- #define ID3D12Fence_GetDevice(This,riid,ppvDevice) \
- ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
- #define ID3D12Fence_GetCompletedValue(This) \
- ( (This)->lpVtbl -> GetCompletedValue(This) )
- #define ID3D12Fence_SetEventOnCompletion(This,Value,hEvent) \
- ( (This)->lpVtbl -> SetEventOnCompletion(This,Value,hEvent) )
- #define ID3D12Fence_Signal(This,Value) \
- ( (This)->lpVtbl -> Signal(This,Value) )
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __ID3D12Fence_INTERFACE_DEFINED__ */
- #ifndef __ID3D12Fence1_INTERFACE_DEFINED__
- #define __ID3D12Fence1_INTERFACE_DEFINED__
- /* interface ID3D12Fence1 */
- /* [unique][local][object][uuid] */
- EXTERN_C const IID IID_ID3D12Fence1;
- #if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("433685fe-e22b-4ca0-a8db-b5b4f4dd0e4a")
- ID3D12Fence1 : public ID3D12Fence
- {
- public:
- virtual D3D12_FENCE_FLAGS STDMETHODCALLTYPE GetCreationFlags( void) = 0;
-
- };
-
-
- #else /* C style interface */
- typedef struct ID3D12Fence1Vtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12Fence1 * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12Fence1 * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12Fence1 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12Fence1 * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12Fence1 * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12Fence1 * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetName)
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12Fence1 * This,
- _In_z_ LPCWSTR Name);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice)
- HRESULT ( STDMETHODCALLTYPE *GetDevice )(
- ID3D12Fence1 * This,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvDevice);
-
- DECLSPEC_XFGVIRT(ID3D12Fence, GetCompletedValue)
- UINT64 ( STDMETHODCALLTYPE *GetCompletedValue )(
- ID3D12Fence1 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Fence, SetEventOnCompletion)
- HRESULT ( STDMETHODCALLTYPE *SetEventOnCompletion )(
- ID3D12Fence1 * This,
- UINT64 Value,
- HANDLE hEvent);
-
- DECLSPEC_XFGVIRT(ID3D12Fence, Signal)
- HRESULT ( STDMETHODCALLTYPE *Signal )(
- ID3D12Fence1 * This,
- UINT64 Value);
-
- DECLSPEC_XFGVIRT(ID3D12Fence1, GetCreationFlags)
- D3D12_FENCE_FLAGS ( STDMETHODCALLTYPE *GetCreationFlags )(
- ID3D12Fence1 * This);
-
- END_INTERFACE
- } ID3D12Fence1Vtbl;
- interface ID3D12Fence1
- {
- CONST_VTBL struct ID3D12Fence1Vtbl *lpVtbl;
- };
-
- #ifdef COBJMACROS
- #define ID3D12Fence1_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define ID3D12Fence1_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define ID3D12Fence1_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #define ID3D12Fence1_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
- #define ID3D12Fence1_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
- #define ID3D12Fence1_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
- #define ID3D12Fence1_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
- #define ID3D12Fence1_GetDevice(This,riid,ppvDevice) \
- ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
- #define ID3D12Fence1_GetCompletedValue(This) \
- ( (This)->lpVtbl -> GetCompletedValue(This) )
- #define ID3D12Fence1_SetEventOnCompletion(This,Value,hEvent) \
- ( (This)->lpVtbl -> SetEventOnCompletion(This,Value,hEvent) )
- #define ID3D12Fence1_Signal(This,Value) \
- ( (This)->lpVtbl -> Signal(This,Value) )
- #define ID3D12Fence1_GetCreationFlags(This) \
- ( (This)->lpVtbl -> GetCreationFlags(This) )
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __ID3D12Fence1_INTERFACE_DEFINED__ */
- #ifndef __ID3D12PipelineState_INTERFACE_DEFINED__
- #define __ID3D12PipelineState_INTERFACE_DEFINED__
- /* interface ID3D12PipelineState */
- /* [unique][local][object][uuid] */
- EXTERN_C const IID IID_ID3D12PipelineState;
- #if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("765a30f3-f624-4c6f-a828-ace948622445")
- ID3D12PipelineState : public ID3D12Pageable
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE GetCachedBlob(
- _COM_Outptr_ ID3DBlob **ppBlob) = 0;
-
- };
-
-
- #else /* C style interface */
- typedef struct ID3D12PipelineStateVtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12PipelineState * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12PipelineState * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12PipelineState * This);
-
- DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12PipelineState * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12PipelineState * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12PipelineState * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetName)
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12PipelineState * This,
- _In_z_ LPCWSTR Name);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice)
- HRESULT ( STDMETHODCALLTYPE *GetDevice )(
- ID3D12PipelineState * This,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvDevice);
-
- DECLSPEC_XFGVIRT(ID3D12PipelineState, GetCachedBlob)
- HRESULT ( STDMETHODCALLTYPE *GetCachedBlob )(
- ID3D12PipelineState * This,
- _COM_Outptr_ ID3DBlob **ppBlob);
-
- END_INTERFACE
- } ID3D12PipelineStateVtbl;
- interface ID3D12PipelineState
- {
- CONST_VTBL struct ID3D12PipelineStateVtbl *lpVtbl;
- };
-
- #ifdef COBJMACROS
- #define ID3D12PipelineState_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define ID3D12PipelineState_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define ID3D12PipelineState_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #define ID3D12PipelineState_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
- #define ID3D12PipelineState_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
- #define ID3D12PipelineState_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
- #define ID3D12PipelineState_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
- #define ID3D12PipelineState_GetDevice(This,riid,ppvDevice) \
- ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
- #define ID3D12PipelineState_GetCachedBlob(This,ppBlob) \
- ( (This)->lpVtbl -> GetCachedBlob(This,ppBlob) )
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __ID3D12PipelineState_INTERFACE_DEFINED__ */
- #ifndef __ID3D12DescriptorHeap_INTERFACE_DEFINED__
- #define __ID3D12DescriptorHeap_INTERFACE_DEFINED__
- /* interface ID3D12DescriptorHeap */
- /* [unique][local][object][uuid] */
- EXTERN_C const IID IID_ID3D12DescriptorHeap;
- #if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("8efb471d-616c-4f49-90f7-127bb763fa51")
- ID3D12DescriptorHeap : public ID3D12Pageable
- {
- public:
- #if defined(_MSC_VER) || !defined(_WIN32)
- virtual D3D12_DESCRIPTOR_HEAP_DESC STDMETHODCALLTYPE GetDesc( void) = 0;
- #else
- virtual D3D12_DESCRIPTOR_HEAP_DESC *STDMETHODCALLTYPE GetDesc(
- D3D12_DESCRIPTOR_HEAP_DESC * RetVal) = 0;
- #endif
-
- #if defined(_MSC_VER) || !defined(_WIN32)
- virtual D3D12_CPU_DESCRIPTOR_HANDLE STDMETHODCALLTYPE GetCPUDescriptorHandleForHeapStart( void) = 0;
- #else
- virtual D3D12_CPU_DESCRIPTOR_HANDLE *STDMETHODCALLTYPE GetCPUDescriptorHandleForHeapStart(
- D3D12_CPU_DESCRIPTOR_HANDLE * RetVal) = 0;
- #endif
-
- #if defined(_MSC_VER) || !defined(_WIN32)
- virtual D3D12_GPU_DESCRIPTOR_HANDLE STDMETHODCALLTYPE GetGPUDescriptorHandleForHeapStart( void) = 0;
- #else
- virtual D3D12_GPU_DESCRIPTOR_HANDLE *STDMETHODCALLTYPE GetGPUDescriptorHandleForHeapStart(
- D3D12_GPU_DESCRIPTOR_HANDLE * RetVal) = 0;
- #endif
-
- };
-
-
- #else /* C style interface */
- typedef struct ID3D12DescriptorHeapVtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12DescriptorHeap * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12DescriptorHeap * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12DescriptorHeap * This);
-
- DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12DescriptorHeap * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12DescriptorHeap * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12DescriptorHeap * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetName)
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12DescriptorHeap * This,
- _In_z_ LPCWSTR Name);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice)
- HRESULT ( STDMETHODCALLTYPE *GetDevice )(
- ID3D12DescriptorHeap * This,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvDevice);
-
- DECLSPEC_XFGVIRT(ID3D12DescriptorHeap, GetDesc)
- #if !defined(_WIN32)
- D3D12_DESCRIPTOR_HEAP_DESC ( STDMETHODCALLTYPE *GetDesc )(
- ID3D12DescriptorHeap * This);
-
- #else
- D3D12_DESCRIPTOR_HEAP_DESC *( STDMETHODCALLTYPE *GetDesc )(
- ID3D12DescriptorHeap * This,
- D3D12_DESCRIPTOR_HEAP_DESC * RetVal);
-
- #endif
-
- DECLSPEC_XFGVIRT(ID3D12DescriptorHeap, GetCPUDescriptorHandleForHeapStart)
- #if !defined(_WIN32)
- D3D12_CPU_DESCRIPTOR_HANDLE ( STDMETHODCALLTYPE *GetCPUDescriptorHandleForHeapStart )(
- ID3D12DescriptorHeap * This);
-
- #else
- D3D12_CPU_DESCRIPTOR_HANDLE *( STDMETHODCALLTYPE *GetCPUDescriptorHandleForHeapStart )(
- ID3D12DescriptorHeap * This,
- D3D12_CPU_DESCRIPTOR_HANDLE * RetVal);
-
- #endif
-
- DECLSPEC_XFGVIRT(ID3D12DescriptorHeap, GetGPUDescriptorHandleForHeapStart)
- #if !defined(_WIN32)
- D3D12_GPU_DESCRIPTOR_HANDLE ( STDMETHODCALLTYPE *GetGPUDescriptorHandleForHeapStart )(
- ID3D12DescriptorHeap * This);
-
- #else
- D3D12_GPU_DESCRIPTOR_HANDLE *( STDMETHODCALLTYPE *GetGPUDescriptorHandleForHeapStart )(
- ID3D12DescriptorHeap * This,
- D3D12_GPU_DESCRIPTOR_HANDLE * RetVal);
-
- #endif
-
- END_INTERFACE
- } ID3D12DescriptorHeapVtbl;
- interface ID3D12DescriptorHeap
- {
- CONST_VTBL struct ID3D12DescriptorHeapVtbl *lpVtbl;
- };
-
- #ifdef COBJMACROS
- #define ID3D12DescriptorHeap_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define ID3D12DescriptorHeap_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define ID3D12DescriptorHeap_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #define ID3D12DescriptorHeap_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
- #define ID3D12DescriptorHeap_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
- #define ID3D12DescriptorHeap_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
- #define ID3D12DescriptorHeap_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
- #define ID3D12DescriptorHeap_GetDevice(This,riid,ppvDevice) \
- ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
- #if !defined(_WIN32)
- #define ID3D12DescriptorHeap_GetDesc(This) \
- ( (This)->lpVtbl -> GetDesc(This) )
- #else
- #define ID3D12DescriptorHeap_GetDesc(This,RetVal) \
- ( (This)->lpVtbl -> GetDesc(This,RetVal) )
- #endif
- #if !defined(_WIN32)
- #define ID3D12DescriptorHeap_GetCPUDescriptorHandleForHeapStart(This) \
- ( (This)->lpVtbl -> GetCPUDescriptorHandleForHeapStart(This) )
- #else
- #define ID3D12DescriptorHeap_GetCPUDescriptorHandleForHeapStart(This,RetVal) \
- ( (This)->lpVtbl -> GetCPUDescriptorHandleForHeapStart(This,RetVal) )
- #endif
- #if !defined(_WIN32)
- #define ID3D12DescriptorHeap_GetGPUDescriptorHandleForHeapStart(This) \
- ( (This)->lpVtbl -> GetGPUDescriptorHandleForHeapStart(This) )
- #else
- #define ID3D12DescriptorHeap_GetGPUDescriptorHandleForHeapStart(This,RetVal) \
- ( (This)->lpVtbl -> GetGPUDescriptorHandleForHeapStart(This,RetVal) )
- #endif
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __ID3D12DescriptorHeap_INTERFACE_DEFINED__ */
- #ifndef __ID3D12QueryHeap_INTERFACE_DEFINED__
- #define __ID3D12QueryHeap_INTERFACE_DEFINED__
- /* interface ID3D12QueryHeap */
- /* [unique][local][object][uuid] */
- EXTERN_C const IID IID_ID3D12QueryHeap;
- #if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("0d9658ae-ed45-469e-a61d-970ec583cab4")
- ID3D12QueryHeap : public ID3D12Pageable
- {
- public:
- };
-
-
- #else /* C style interface */
- typedef struct ID3D12QueryHeapVtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12QueryHeap * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12QueryHeap * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12QueryHeap * This);
-
- DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12QueryHeap * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12QueryHeap * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12QueryHeap * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetName)
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12QueryHeap * This,
- _In_z_ LPCWSTR Name);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice)
- HRESULT ( STDMETHODCALLTYPE *GetDevice )(
- ID3D12QueryHeap * This,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvDevice);
-
- END_INTERFACE
- } ID3D12QueryHeapVtbl;
- interface ID3D12QueryHeap
- {
- CONST_VTBL struct ID3D12QueryHeapVtbl *lpVtbl;
- };
-
- #ifdef COBJMACROS
- #define ID3D12QueryHeap_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define ID3D12QueryHeap_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define ID3D12QueryHeap_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #define ID3D12QueryHeap_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
- #define ID3D12QueryHeap_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
- #define ID3D12QueryHeap_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
- #define ID3D12QueryHeap_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
- #define ID3D12QueryHeap_GetDevice(This,riid,ppvDevice) \
- ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __ID3D12QueryHeap_INTERFACE_DEFINED__ */
- #ifndef __ID3D12CommandSignature_INTERFACE_DEFINED__
- #define __ID3D12CommandSignature_INTERFACE_DEFINED__
- /* interface ID3D12CommandSignature */
- /* [unique][local][object][uuid] */
- EXTERN_C const IID IID_ID3D12CommandSignature;
- #if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("c36a797c-ec80-4f0a-8985-a7b2475082d1")
- ID3D12CommandSignature : public ID3D12Pageable
- {
- public:
- };
-
-
- #else /* C style interface */
- typedef struct ID3D12CommandSignatureVtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12CommandSignature * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12CommandSignature * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12CommandSignature * This);
-
- DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12CommandSignature * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12CommandSignature * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12CommandSignature * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetName)
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12CommandSignature * This,
- _In_z_ LPCWSTR Name);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice)
- HRESULT ( STDMETHODCALLTYPE *GetDevice )(
- ID3D12CommandSignature * This,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvDevice);
-
- END_INTERFACE
- } ID3D12CommandSignatureVtbl;
- interface ID3D12CommandSignature
- {
- CONST_VTBL struct ID3D12CommandSignatureVtbl *lpVtbl;
- };
-
- #ifdef COBJMACROS
- #define ID3D12CommandSignature_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define ID3D12CommandSignature_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define ID3D12CommandSignature_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #define ID3D12CommandSignature_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
- #define ID3D12CommandSignature_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
- #define ID3D12CommandSignature_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
- #define ID3D12CommandSignature_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
- #define ID3D12CommandSignature_GetDevice(This,riid,ppvDevice) \
- ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __ID3D12CommandSignature_INTERFACE_DEFINED__ */
- #ifndef __ID3D12CommandList_INTERFACE_DEFINED__
- #define __ID3D12CommandList_INTERFACE_DEFINED__
- /* interface ID3D12CommandList */
- /* [unique][local][object][uuid] */
- EXTERN_C const IID IID_ID3D12CommandList;
- #if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("7116d91c-e7e4-47ce-b8c6-ec8168f437e5")
- ID3D12CommandList : public ID3D12DeviceChild
- {
- public:
- virtual D3D12_COMMAND_LIST_TYPE STDMETHODCALLTYPE GetType( void) = 0;
-
- };
-
-
- #else /* C style interface */
- typedef struct ID3D12CommandListVtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12CommandList * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12CommandList * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12CommandList * This);
-
- DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12CommandList * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12CommandList * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12CommandList * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetName)
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12CommandList * This,
- _In_z_ LPCWSTR Name);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice)
- HRESULT ( STDMETHODCALLTYPE *GetDevice )(
- ID3D12CommandList * This,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvDevice);
-
- DECLSPEC_XFGVIRT(ID3D12CommandList, GetType)
- D3D12_COMMAND_LIST_TYPE ( STDMETHODCALLTYPE *GetType )(
- ID3D12CommandList * This);
-
- END_INTERFACE
- } ID3D12CommandListVtbl;
- interface ID3D12CommandList
- {
- CONST_VTBL struct ID3D12CommandListVtbl *lpVtbl;
- };
-
- #ifdef COBJMACROS
- #define ID3D12CommandList_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define ID3D12CommandList_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define ID3D12CommandList_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #define ID3D12CommandList_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
- #define ID3D12CommandList_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
- #define ID3D12CommandList_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
- #define ID3D12CommandList_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
- #define ID3D12CommandList_GetDevice(This,riid,ppvDevice) \
- ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
- #define ID3D12CommandList_GetType(This) \
- ( (This)->lpVtbl -> GetType(This) )
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __ID3D12CommandList_INTERFACE_DEFINED__ */
- #ifndef __ID3D12GraphicsCommandList_INTERFACE_DEFINED__
- #define __ID3D12GraphicsCommandList_INTERFACE_DEFINED__
- /* interface ID3D12GraphicsCommandList */
- /* [unique][local][object][uuid] */
- EXTERN_C const IID IID_ID3D12GraphicsCommandList;
- #if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("5b160d0f-ac1b-4185-8ba8-b3ae42a5a455")
- ID3D12GraphicsCommandList : public ID3D12CommandList
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE Close( void) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE Reset(
- _In_ ID3D12CommandAllocator *pAllocator,
- _In_opt_ ID3D12PipelineState *pInitialState) = 0;
-
- virtual void STDMETHODCALLTYPE ClearState(
- _In_opt_ ID3D12PipelineState *pPipelineState) = 0;
-
- virtual void STDMETHODCALLTYPE DrawInstanced(
- _In_ UINT VertexCountPerInstance,
- _In_ UINT InstanceCount,
- _In_ UINT StartVertexLocation,
- _In_ UINT StartInstanceLocation) = 0;
-
- virtual void STDMETHODCALLTYPE DrawIndexedInstanced(
- _In_ UINT IndexCountPerInstance,
- _In_ UINT InstanceCount,
- _In_ UINT StartIndexLocation,
- _In_ INT BaseVertexLocation,
- _In_ UINT StartInstanceLocation) = 0;
-
- virtual void STDMETHODCALLTYPE Dispatch(
- _In_ UINT ThreadGroupCountX,
- _In_ UINT ThreadGroupCountY,
- _In_ UINT ThreadGroupCountZ) = 0;
-
- virtual void STDMETHODCALLTYPE CopyBufferRegion(
- _In_ ID3D12Resource *pDstBuffer,
- UINT64 DstOffset,
- _In_ ID3D12Resource *pSrcBuffer,
- UINT64 SrcOffset,
- UINT64 NumBytes) = 0;
-
- virtual void STDMETHODCALLTYPE CopyTextureRegion(
- _In_ const D3D12_TEXTURE_COPY_LOCATION *pDst,
- UINT DstX,
- UINT DstY,
- UINT DstZ,
- _In_ const D3D12_TEXTURE_COPY_LOCATION *pSrc,
- _In_opt_ const D3D12_BOX *pSrcBox) = 0;
-
- virtual void STDMETHODCALLTYPE CopyResource(
- _In_ ID3D12Resource *pDstResource,
- _In_ ID3D12Resource *pSrcResource) = 0;
-
- virtual void STDMETHODCALLTYPE CopyTiles(
- _In_ ID3D12Resource *pTiledResource,
- _In_ const D3D12_TILED_RESOURCE_COORDINATE *pTileRegionStartCoordinate,
- _In_ const D3D12_TILE_REGION_SIZE *pTileRegionSize,
- _In_ ID3D12Resource *pBuffer,
- UINT64 BufferStartOffsetInBytes,
- D3D12_TILE_COPY_FLAGS Flags) = 0;
-
- virtual void STDMETHODCALLTYPE ResolveSubresource(
- _In_ ID3D12Resource *pDstResource,
- _In_ UINT DstSubresource,
- _In_ ID3D12Resource *pSrcResource,
- _In_ UINT SrcSubresource,
- _In_ DXGI_FORMAT Format) = 0;
-
- virtual void STDMETHODCALLTYPE IASetPrimitiveTopology(
- _In_ D3D12_PRIMITIVE_TOPOLOGY PrimitiveTopology) = 0;
-
- virtual void STDMETHODCALLTYPE RSSetViewports(
- _In_range_(0, D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE) UINT NumViewports,
- _In_reads_( NumViewports) const D3D12_VIEWPORT *pViewports) = 0;
-
- virtual void STDMETHODCALLTYPE RSSetScissorRects(
- _In_range_(0, D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE) UINT NumRects,
- _In_reads_( NumRects) const D3D12_RECT *pRects) = 0;
-
- virtual void STDMETHODCALLTYPE OMSetBlendFactor(
- _In_reads_opt_(4) const FLOAT BlendFactor[ 4 ]) = 0;
-
- virtual void STDMETHODCALLTYPE OMSetStencilRef(
- _In_ UINT StencilRef) = 0;
-
- virtual void STDMETHODCALLTYPE SetPipelineState(
- _In_ ID3D12PipelineState *pPipelineState) = 0;
-
- virtual void STDMETHODCALLTYPE ResourceBarrier(
- _In_ UINT NumBarriers,
- _In_reads_(NumBarriers) const D3D12_RESOURCE_BARRIER *pBarriers) = 0;
-
- virtual void STDMETHODCALLTYPE ExecuteBundle(
- _In_ ID3D12GraphicsCommandList *pCommandList) = 0;
-
- virtual void STDMETHODCALLTYPE SetDescriptorHeaps(
- _In_ UINT NumDescriptorHeaps,
- _In_reads_(NumDescriptorHeaps) ID3D12DescriptorHeap *const *ppDescriptorHeaps) = 0;
-
- virtual void STDMETHODCALLTYPE SetComputeRootSignature(
- _In_opt_ ID3D12RootSignature *pRootSignature) = 0;
-
- virtual void STDMETHODCALLTYPE SetGraphicsRootSignature(
- _In_opt_ ID3D12RootSignature *pRootSignature) = 0;
-
- virtual void STDMETHODCALLTYPE SetComputeRootDescriptorTable(
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor) = 0;
-
- virtual void STDMETHODCALLTYPE SetGraphicsRootDescriptorTable(
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor) = 0;
-
- virtual void STDMETHODCALLTYPE SetComputeRoot32BitConstant(
- _In_ UINT RootParameterIndex,
- _In_ UINT SrcData,
- _In_ UINT DestOffsetIn32BitValues) = 0;
-
- virtual void STDMETHODCALLTYPE SetGraphicsRoot32BitConstant(
- _In_ UINT RootParameterIndex,
- _In_ UINT SrcData,
- _In_ UINT DestOffsetIn32BitValues) = 0;
-
- virtual void STDMETHODCALLTYPE SetComputeRoot32BitConstants(
- _In_ UINT RootParameterIndex,
- _In_ UINT Num32BitValuesToSet,
- _In_reads_(Num32BitValuesToSet*sizeof(UINT)) const void *pSrcData,
- _In_ UINT DestOffsetIn32BitValues) = 0;
-
- virtual void STDMETHODCALLTYPE SetGraphicsRoot32BitConstants(
- _In_ UINT RootParameterIndex,
- _In_ UINT Num32BitValuesToSet,
- _In_reads_(Num32BitValuesToSet*sizeof(UINT)) const void *pSrcData,
- _In_ UINT DestOffsetIn32BitValues) = 0;
-
- virtual void STDMETHODCALLTYPE SetComputeRootConstantBufferView(
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation) = 0;
-
- virtual void STDMETHODCALLTYPE SetGraphicsRootConstantBufferView(
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation) = 0;
-
- virtual void STDMETHODCALLTYPE SetComputeRootShaderResourceView(
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation) = 0;
-
- virtual void STDMETHODCALLTYPE SetGraphicsRootShaderResourceView(
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation) = 0;
-
- virtual void STDMETHODCALLTYPE SetComputeRootUnorderedAccessView(
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation) = 0;
-
- virtual void STDMETHODCALLTYPE SetGraphicsRootUnorderedAccessView(
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation) = 0;
-
- virtual void STDMETHODCALLTYPE IASetIndexBuffer(
- _In_opt_ const D3D12_INDEX_BUFFER_VIEW *pView) = 0;
-
- virtual void STDMETHODCALLTYPE IASetVertexBuffers(
- _In_ UINT StartSlot,
- _In_ UINT NumViews,
- _In_reads_opt_(NumViews) const D3D12_VERTEX_BUFFER_VIEW *pViews) = 0;
-
- virtual void STDMETHODCALLTYPE SOSetTargets(
- _In_ UINT StartSlot,
- _In_ UINT NumViews,
- _In_reads_opt_(NumViews) const D3D12_STREAM_OUTPUT_BUFFER_VIEW *pViews) = 0;
-
- virtual void STDMETHODCALLTYPE OMSetRenderTargets(
- _In_ UINT NumRenderTargetDescriptors,
- _In_opt_ const D3D12_CPU_DESCRIPTOR_HANDLE *pRenderTargetDescriptors,
- _In_ BOOL RTsSingleHandleToDescriptorRange,
- _In_opt_ const D3D12_CPU_DESCRIPTOR_HANDLE *pDepthStencilDescriptor) = 0;
-
- virtual void STDMETHODCALLTYPE ClearDepthStencilView(
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DepthStencilView,
- _In_ D3D12_CLEAR_FLAGS ClearFlags,
- _In_ FLOAT Depth,
- _In_ UINT8 Stencil,
- _In_ UINT NumRects,
- _In_reads_(NumRects) const D3D12_RECT *pRects) = 0;
-
- virtual void STDMETHODCALLTYPE ClearRenderTargetView(
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE RenderTargetView,
- _In_ const FLOAT ColorRGBA[ 4 ],
- _In_ UINT NumRects,
- _In_reads_(NumRects) const D3D12_RECT *pRects) = 0;
-
- virtual void STDMETHODCALLTYPE ClearUnorderedAccessViewUint(
- _In_ D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle,
- _In_ ID3D12Resource *pResource,
- _In_ const UINT Values[ 4 ],
- _In_ UINT NumRects,
- _In_reads_(NumRects) const D3D12_RECT *pRects) = 0;
-
- virtual void STDMETHODCALLTYPE ClearUnorderedAccessViewFloat(
- _In_ D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle,
- _In_ ID3D12Resource *pResource,
- _In_ const FLOAT Values[ 4 ],
- _In_ UINT NumRects,
- _In_reads_(NumRects) const D3D12_RECT *pRects) = 0;
-
- virtual void STDMETHODCALLTYPE DiscardResource(
- _In_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_DISCARD_REGION *pRegion) = 0;
-
- virtual void STDMETHODCALLTYPE BeginQuery(
- _In_ ID3D12QueryHeap *pQueryHeap,
- _In_ D3D12_QUERY_TYPE Type,
- _In_ UINT Index) = 0;
-
- virtual void STDMETHODCALLTYPE EndQuery(
- _In_ ID3D12QueryHeap *pQueryHeap,
- _In_ D3D12_QUERY_TYPE Type,
- _In_ UINT Index) = 0;
-
- virtual void STDMETHODCALLTYPE ResolveQueryData(
- _In_ ID3D12QueryHeap *pQueryHeap,
- _In_ D3D12_QUERY_TYPE Type,
- _In_ UINT StartIndex,
- _In_ UINT NumQueries,
- _In_ ID3D12Resource *pDestinationBuffer,
- _In_ UINT64 AlignedDestinationBufferOffset) = 0;
-
- virtual void STDMETHODCALLTYPE SetPredication(
- _In_opt_ ID3D12Resource *pBuffer,
- _In_ UINT64 AlignedBufferOffset,
- _In_ D3D12_PREDICATION_OP Operation) = 0;
-
- virtual void STDMETHODCALLTYPE SetMarker(
- UINT Metadata,
- _In_reads_bytes_opt_(Size) const void *pData,
- UINT Size) = 0;
-
- virtual void STDMETHODCALLTYPE BeginEvent(
- UINT Metadata,
- _In_reads_bytes_opt_(Size) const void *pData,
- UINT Size) = 0;
-
- virtual void STDMETHODCALLTYPE EndEvent( void) = 0;
-
- virtual void STDMETHODCALLTYPE ExecuteIndirect(
- _In_ ID3D12CommandSignature *pCommandSignature,
- _In_ UINT MaxCommandCount,
- _In_ ID3D12Resource *pArgumentBuffer,
- _In_ UINT64 ArgumentBufferOffset,
- _In_opt_ ID3D12Resource *pCountBuffer,
- _In_ UINT64 CountBufferOffset) = 0;
-
- };
-
-
- #else /* C style interface */
- typedef struct ID3D12GraphicsCommandListVtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12GraphicsCommandList * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12GraphicsCommandList * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12GraphicsCommandList * This);
-
- DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12GraphicsCommandList * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12GraphicsCommandList * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12GraphicsCommandList * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetName)
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12GraphicsCommandList * This,
- _In_z_ LPCWSTR Name);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice)
- HRESULT ( STDMETHODCALLTYPE *GetDevice )(
- ID3D12GraphicsCommandList * This,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvDevice);
-
- DECLSPEC_XFGVIRT(ID3D12CommandList, GetType)
- D3D12_COMMAND_LIST_TYPE ( STDMETHODCALLTYPE *GetType )(
- ID3D12GraphicsCommandList * This);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, Close)
- HRESULT ( STDMETHODCALLTYPE *Close )(
- ID3D12GraphicsCommandList * This);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, Reset)
- HRESULT ( STDMETHODCALLTYPE *Reset )(
- ID3D12GraphicsCommandList * This,
- _In_ ID3D12CommandAllocator *pAllocator,
- _In_opt_ ID3D12PipelineState *pInitialState);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearState)
- void ( STDMETHODCALLTYPE *ClearState )(
- ID3D12GraphicsCommandList * This,
- _In_opt_ ID3D12PipelineState *pPipelineState);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, DrawInstanced)
- void ( STDMETHODCALLTYPE *DrawInstanced )(
- ID3D12GraphicsCommandList * This,
- _In_ UINT VertexCountPerInstance,
- _In_ UINT InstanceCount,
- _In_ UINT StartVertexLocation,
- _In_ UINT StartInstanceLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, DrawIndexedInstanced)
- void ( STDMETHODCALLTYPE *DrawIndexedInstanced )(
- ID3D12GraphicsCommandList * This,
- _In_ UINT IndexCountPerInstance,
- _In_ UINT InstanceCount,
- _In_ UINT StartIndexLocation,
- _In_ INT BaseVertexLocation,
- _In_ UINT StartInstanceLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, Dispatch)
- void ( STDMETHODCALLTYPE *Dispatch )(
- ID3D12GraphicsCommandList * This,
- _In_ UINT ThreadGroupCountX,
- _In_ UINT ThreadGroupCountY,
- _In_ UINT ThreadGroupCountZ);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyBufferRegion)
- void ( STDMETHODCALLTYPE *CopyBufferRegion )(
- ID3D12GraphicsCommandList * This,
- _In_ ID3D12Resource *pDstBuffer,
- UINT64 DstOffset,
- _In_ ID3D12Resource *pSrcBuffer,
- UINT64 SrcOffset,
- UINT64 NumBytes);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyTextureRegion)
- void ( STDMETHODCALLTYPE *CopyTextureRegion )(
- ID3D12GraphicsCommandList * This,
- _In_ const D3D12_TEXTURE_COPY_LOCATION *pDst,
- UINT DstX,
- UINT DstY,
- UINT DstZ,
- _In_ const D3D12_TEXTURE_COPY_LOCATION *pSrc,
- _In_opt_ const D3D12_BOX *pSrcBox);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyResource)
- void ( STDMETHODCALLTYPE *CopyResource )(
- ID3D12GraphicsCommandList * This,
- _In_ ID3D12Resource *pDstResource,
- _In_ ID3D12Resource *pSrcResource);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyTiles)
- void ( STDMETHODCALLTYPE *CopyTiles )(
- ID3D12GraphicsCommandList * This,
- _In_ ID3D12Resource *pTiledResource,
- _In_ const D3D12_TILED_RESOURCE_COORDINATE *pTileRegionStartCoordinate,
- _In_ const D3D12_TILE_REGION_SIZE *pTileRegionSize,
- _In_ ID3D12Resource *pBuffer,
- UINT64 BufferStartOffsetInBytes,
- D3D12_TILE_COPY_FLAGS Flags);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ResolveSubresource)
- void ( STDMETHODCALLTYPE *ResolveSubresource )(
- ID3D12GraphicsCommandList * This,
- _In_ ID3D12Resource *pDstResource,
- _In_ UINT DstSubresource,
- _In_ ID3D12Resource *pSrcResource,
- _In_ UINT SrcSubresource,
- _In_ DXGI_FORMAT Format);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, IASetPrimitiveTopology)
- void ( STDMETHODCALLTYPE *IASetPrimitiveTopology )(
- ID3D12GraphicsCommandList * This,
- _In_ D3D12_PRIMITIVE_TOPOLOGY PrimitiveTopology);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, RSSetViewports)
- void ( STDMETHODCALLTYPE *RSSetViewports )(
- ID3D12GraphicsCommandList * This,
- _In_range_(0, D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE) UINT NumViewports,
- _In_reads_( NumViewports) const D3D12_VIEWPORT *pViewports);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, RSSetScissorRects)
- void ( STDMETHODCALLTYPE *RSSetScissorRects )(
- ID3D12GraphicsCommandList * This,
- _In_range_(0, D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE) UINT NumRects,
- _In_reads_( NumRects) const D3D12_RECT *pRects);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, OMSetBlendFactor)
- void ( STDMETHODCALLTYPE *OMSetBlendFactor )(
- ID3D12GraphicsCommandList * This,
- _In_reads_opt_(4) const FLOAT BlendFactor[ 4 ]);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, OMSetStencilRef)
- void ( STDMETHODCALLTYPE *OMSetStencilRef )(
- ID3D12GraphicsCommandList * This,
- _In_ UINT StencilRef);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetPipelineState)
- void ( STDMETHODCALLTYPE *SetPipelineState )(
- ID3D12GraphicsCommandList * This,
- _In_ ID3D12PipelineState *pPipelineState);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ResourceBarrier)
- void ( STDMETHODCALLTYPE *ResourceBarrier )(
- ID3D12GraphicsCommandList * This,
- _In_ UINT NumBarriers,
- _In_reads_(NumBarriers) const D3D12_RESOURCE_BARRIER *pBarriers);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ExecuteBundle)
- void ( STDMETHODCALLTYPE *ExecuteBundle )(
- ID3D12GraphicsCommandList * This,
- _In_ ID3D12GraphicsCommandList *pCommandList);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetDescriptorHeaps)
- void ( STDMETHODCALLTYPE *SetDescriptorHeaps )(
- ID3D12GraphicsCommandList * This,
- _In_ UINT NumDescriptorHeaps,
- _In_reads_(NumDescriptorHeaps) ID3D12DescriptorHeap *const *ppDescriptorHeaps);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootSignature)
- void ( STDMETHODCALLTYPE *SetComputeRootSignature )(
- ID3D12GraphicsCommandList * This,
- _In_opt_ ID3D12RootSignature *pRootSignature);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootSignature)
- void ( STDMETHODCALLTYPE *SetGraphicsRootSignature )(
- ID3D12GraphicsCommandList * This,
- _In_opt_ ID3D12RootSignature *pRootSignature);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootDescriptorTable)
- void ( STDMETHODCALLTYPE *SetComputeRootDescriptorTable )(
- ID3D12GraphicsCommandList * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootDescriptorTable)
- void ( STDMETHODCALLTYPE *SetGraphicsRootDescriptorTable )(
- ID3D12GraphicsCommandList * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRoot32BitConstant)
- void ( STDMETHODCALLTYPE *SetComputeRoot32BitConstant )(
- ID3D12GraphicsCommandList * This,
- _In_ UINT RootParameterIndex,
- _In_ UINT SrcData,
- _In_ UINT DestOffsetIn32BitValues);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRoot32BitConstant)
- void ( STDMETHODCALLTYPE *SetGraphicsRoot32BitConstant )(
- ID3D12GraphicsCommandList * This,
- _In_ UINT RootParameterIndex,
- _In_ UINT SrcData,
- _In_ UINT DestOffsetIn32BitValues);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRoot32BitConstants)
- void ( STDMETHODCALLTYPE *SetComputeRoot32BitConstants )(
- ID3D12GraphicsCommandList * This,
- _In_ UINT RootParameterIndex,
- _In_ UINT Num32BitValuesToSet,
- _In_reads_(Num32BitValuesToSet*sizeof(UINT)) const void *pSrcData,
- _In_ UINT DestOffsetIn32BitValues);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRoot32BitConstants)
- void ( STDMETHODCALLTYPE *SetGraphicsRoot32BitConstants )(
- ID3D12GraphicsCommandList * This,
- _In_ UINT RootParameterIndex,
- _In_ UINT Num32BitValuesToSet,
- _In_reads_(Num32BitValuesToSet*sizeof(UINT)) const void *pSrcData,
- _In_ UINT DestOffsetIn32BitValues);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootConstantBufferView)
- void ( STDMETHODCALLTYPE *SetComputeRootConstantBufferView )(
- ID3D12GraphicsCommandList * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootConstantBufferView)
- void ( STDMETHODCALLTYPE *SetGraphicsRootConstantBufferView )(
- ID3D12GraphicsCommandList * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootShaderResourceView)
- void ( STDMETHODCALLTYPE *SetComputeRootShaderResourceView )(
- ID3D12GraphicsCommandList * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootShaderResourceView)
- void ( STDMETHODCALLTYPE *SetGraphicsRootShaderResourceView )(
- ID3D12GraphicsCommandList * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootUnorderedAccessView)
- void ( STDMETHODCALLTYPE *SetComputeRootUnorderedAccessView )(
- ID3D12GraphicsCommandList * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootUnorderedAccessView)
- void ( STDMETHODCALLTYPE *SetGraphicsRootUnorderedAccessView )(
- ID3D12GraphicsCommandList * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, IASetIndexBuffer)
- void ( STDMETHODCALLTYPE *IASetIndexBuffer )(
- ID3D12GraphicsCommandList * This,
- _In_opt_ const D3D12_INDEX_BUFFER_VIEW *pView);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, IASetVertexBuffers)
- void ( STDMETHODCALLTYPE *IASetVertexBuffers )(
- ID3D12GraphicsCommandList * This,
- _In_ UINT StartSlot,
- _In_ UINT NumViews,
- _In_reads_opt_(NumViews) const D3D12_VERTEX_BUFFER_VIEW *pViews);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SOSetTargets)
- void ( STDMETHODCALLTYPE *SOSetTargets )(
- ID3D12GraphicsCommandList * This,
- _In_ UINT StartSlot,
- _In_ UINT NumViews,
- _In_reads_opt_(NumViews) const D3D12_STREAM_OUTPUT_BUFFER_VIEW *pViews);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, OMSetRenderTargets)
- void ( STDMETHODCALLTYPE *OMSetRenderTargets )(
- ID3D12GraphicsCommandList * This,
- _In_ UINT NumRenderTargetDescriptors,
- _In_opt_ const D3D12_CPU_DESCRIPTOR_HANDLE *pRenderTargetDescriptors,
- _In_ BOOL RTsSingleHandleToDescriptorRange,
- _In_opt_ const D3D12_CPU_DESCRIPTOR_HANDLE *pDepthStencilDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearDepthStencilView)
- void ( STDMETHODCALLTYPE *ClearDepthStencilView )(
- ID3D12GraphicsCommandList * This,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DepthStencilView,
- _In_ D3D12_CLEAR_FLAGS ClearFlags,
- _In_ FLOAT Depth,
- _In_ UINT8 Stencil,
- _In_ UINT NumRects,
- _In_reads_(NumRects) const D3D12_RECT *pRects);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearRenderTargetView)
- void ( STDMETHODCALLTYPE *ClearRenderTargetView )(
- ID3D12GraphicsCommandList * This,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE RenderTargetView,
- _In_ const FLOAT ColorRGBA[ 4 ],
- _In_ UINT NumRects,
- _In_reads_(NumRects) const D3D12_RECT *pRects);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearUnorderedAccessViewUint)
- void ( STDMETHODCALLTYPE *ClearUnorderedAccessViewUint )(
- ID3D12GraphicsCommandList * This,
- _In_ D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle,
- _In_ ID3D12Resource *pResource,
- _In_ const UINT Values[ 4 ],
- _In_ UINT NumRects,
- _In_reads_(NumRects) const D3D12_RECT *pRects);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearUnorderedAccessViewFloat)
- void ( STDMETHODCALLTYPE *ClearUnorderedAccessViewFloat )(
- ID3D12GraphicsCommandList * This,
- _In_ D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle,
- _In_ ID3D12Resource *pResource,
- _In_ const FLOAT Values[ 4 ],
- _In_ UINT NumRects,
- _In_reads_(NumRects) const D3D12_RECT *pRects);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, DiscardResource)
- void ( STDMETHODCALLTYPE *DiscardResource )(
- ID3D12GraphicsCommandList * This,
- _In_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_DISCARD_REGION *pRegion);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, BeginQuery)
- void ( STDMETHODCALLTYPE *BeginQuery )(
- ID3D12GraphicsCommandList * This,
- _In_ ID3D12QueryHeap *pQueryHeap,
- _In_ D3D12_QUERY_TYPE Type,
- _In_ UINT Index);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, EndQuery)
- void ( STDMETHODCALLTYPE *EndQuery )(
- ID3D12GraphicsCommandList * This,
- _In_ ID3D12QueryHeap *pQueryHeap,
- _In_ D3D12_QUERY_TYPE Type,
- _In_ UINT Index);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ResolveQueryData)
- void ( STDMETHODCALLTYPE *ResolveQueryData )(
- ID3D12GraphicsCommandList * This,
- _In_ ID3D12QueryHeap *pQueryHeap,
- _In_ D3D12_QUERY_TYPE Type,
- _In_ UINT StartIndex,
- _In_ UINT NumQueries,
- _In_ ID3D12Resource *pDestinationBuffer,
- _In_ UINT64 AlignedDestinationBufferOffset);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetPredication)
- void ( STDMETHODCALLTYPE *SetPredication )(
- ID3D12GraphicsCommandList * This,
- _In_opt_ ID3D12Resource *pBuffer,
- _In_ UINT64 AlignedBufferOffset,
- _In_ D3D12_PREDICATION_OP Operation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetMarker)
- void ( STDMETHODCALLTYPE *SetMarker )(
- ID3D12GraphicsCommandList * This,
- UINT Metadata,
- _In_reads_bytes_opt_(Size) const void *pData,
- UINT Size);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, BeginEvent)
- void ( STDMETHODCALLTYPE *BeginEvent )(
- ID3D12GraphicsCommandList * This,
- UINT Metadata,
- _In_reads_bytes_opt_(Size) const void *pData,
- UINT Size);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, EndEvent)
- void ( STDMETHODCALLTYPE *EndEvent )(
- ID3D12GraphicsCommandList * This);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ExecuteIndirect)
- void ( STDMETHODCALLTYPE *ExecuteIndirect )(
- ID3D12GraphicsCommandList * This,
- _In_ ID3D12CommandSignature *pCommandSignature,
- _In_ UINT MaxCommandCount,
- _In_ ID3D12Resource *pArgumentBuffer,
- _In_ UINT64 ArgumentBufferOffset,
- _In_opt_ ID3D12Resource *pCountBuffer,
- _In_ UINT64 CountBufferOffset);
-
- END_INTERFACE
- } ID3D12GraphicsCommandListVtbl;
- interface ID3D12GraphicsCommandList
- {
- CONST_VTBL struct ID3D12GraphicsCommandListVtbl *lpVtbl;
- };
-
- #ifdef COBJMACROS
- #define ID3D12GraphicsCommandList_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define ID3D12GraphicsCommandList_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define ID3D12GraphicsCommandList_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #define ID3D12GraphicsCommandList_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
- #define ID3D12GraphicsCommandList_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
- #define ID3D12GraphicsCommandList_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
- #define ID3D12GraphicsCommandList_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
- #define ID3D12GraphicsCommandList_GetDevice(This,riid,ppvDevice) \
- ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
- #define ID3D12GraphicsCommandList_GetType(This) \
- ( (This)->lpVtbl -> GetType(This) )
- #define ID3D12GraphicsCommandList_Close(This) \
- ( (This)->lpVtbl -> Close(This) )
- #define ID3D12GraphicsCommandList_Reset(This,pAllocator,pInitialState) \
- ( (This)->lpVtbl -> Reset(This,pAllocator,pInitialState) )
- #define ID3D12GraphicsCommandList_ClearState(This,pPipelineState) \
- ( (This)->lpVtbl -> ClearState(This,pPipelineState) )
- #define ID3D12GraphicsCommandList_DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) \
- ( (This)->lpVtbl -> DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) )
- #define ID3D12GraphicsCommandList_DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) \
- ( (This)->lpVtbl -> DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) )
- #define ID3D12GraphicsCommandList_Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) \
- ( (This)->lpVtbl -> Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) )
- #define ID3D12GraphicsCommandList_CopyBufferRegion(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) \
- ( (This)->lpVtbl -> CopyBufferRegion(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) )
- #define ID3D12GraphicsCommandList_CopyTextureRegion(This,pDst,DstX,DstY,DstZ,pSrc,pSrcBox) \
- ( (This)->lpVtbl -> CopyTextureRegion(This,pDst,DstX,DstY,DstZ,pSrc,pSrcBox) )
- #define ID3D12GraphicsCommandList_CopyResource(This,pDstResource,pSrcResource) \
- ( (This)->lpVtbl -> CopyResource(This,pDstResource,pSrcResource) )
- #define ID3D12GraphicsCommandList_CopyTiles(This,pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) \
- ( (This)->lpVtbl -> CopyTiles(This,pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) )
- #define ID3D12GraphicsCommandList_ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) \
- ( (This)->lpVtbl -> ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) )
- #define ID3D12GraphicsCommandList_IASetPrimitiveTopology(This,PrimitiveTopology) \
- ( (This)->lpVtbl -> IASetPrimitiveTopology(This,PrimitiveTopology) )
- #define ID3D12GraphicsCommandList_RSSetViewports(This,NumViewports,pViewports) \
- ( (This)->lpVtbl -> RSSetViewports(This,NumViewports,pViewports) )
- #define ID3D12GraphicsCommandList_RSSetScissorRects(This,NumRects,pRects) \
- ( (This)->lpVtbl -> RSSetScissorRects(This,NumRects,pRects) )
- #define ID3D12GraphicsCommandList_OMSetBlendFactor(This,BlendFactor) \
- ( (This)->lpVtbl -> OMSetBlendFactor(This,BlendFactor) )
- #define ID3D12GraphicsCommandList_OMSetStencilRef(This,StencilRef) \
- ( (This)->lpVtbl -> OMSetStencilRef(This,StencilRef) )
- #define ID3D12GraphicsCommandList_SetPipelineState(This,pPipelineState) \
- ( (This)->lpVtbl -> SetPipelineState(This,pPipelineState) )
- #define ID3D12GraphicsCommandList_ResourceBarrier(This,NumBarriers,pBarriers) \
- ( (This)->lpVtbl -> ResourceBarrier(This,NumBarriers,pBarriers) )
- #define ID3D12GraphicsCommandList_ExecuteBundle(This,pCommandList) \
- ( (This)->lpVtbl -> ExecuteBundle(This,pCommandList) )
- #define ID3D12GraphicsCommandList_SetDescriptorHeaps(This,NumDescriptorHeaps,ppDescriptorHeaps) \
- ( (This)->lpVtbl -> SetDescriptorHeaps(This,NumDescriptorHeaps,ppDescriptorHeaps) )
- #define ID3D12GraphicsCommandList_SetComputeRootSignature(This,pRootSignature) \
- ( (This)->lpVtbl -> SetComputeRootSignature(This,pRootSignature) )
- #define ID3D12GraphicsCommandList_SetGraphicsRootSignature(This,pRootSignature) \
- ( (This)->lpVtbl -> SetGraphicsRootSignature(This,pRootSignature) )
- #define ID3D12GraphicsCommandList_SetComputeRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) \
- ( (This)->lpVtbl -> SetComputeRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) )
- #define ID3D12GraphicsCommandList_SetGraphicsRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) \
- ( (This)->lpVtbl -> SetGraphicsRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) )
- #define ID3D12GraphicsCommandList_SetComputeRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) \
- ( (This)->lpVtbl -> SetComputeRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) )
- #define ID3D12GraphicsCommandList_SetGraphicsRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) \
- ( (This)->lpVtbl -> SetGraphicsRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) )
- #define ID3D12GraphicsCommandList_SetComputeRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) \
- ( (This)->lpVtbl -> SetComputeRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) )
- #define ID3D12GraphicsCommandList_SetGraphicsRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) \
- ( (This)->lpVtbl -> SetGraphicsRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) )
- #define ID3D12GraphicsCommandList_SetComputeRootConstantBufferView(This,RootParameterIndex,BufferLocation) \
- ( (This)->lpVtbl -> SetComputeRootConstantBufferView(This,RootParameterIndex,BufferLocation) )
- #define ID3D12GraphicsCommandList_SetGraphicsRootConstantBufferView(This,RootParameterIndex,BufferLocation) \
- ( (This)->lpVtbl -> SetGraphicsRootConstantBufferView(This,RootParameterIndex,BufferLocation) )
- #define ID3D12GraphicsCommandList_SetComputeRootShaderResourceView(This,RootParameterIndex,BufferLocation) \
- ( (This)->lpVtbl -> SetComputeRootShaderResourceView(This,RootParameterIndex,BufferLocation) )
- #define ID3D12GraphicsCommandList_SetGraphicsRootShaderResourceView(This,RootParameterIndex,BufferLocation) \
- ( (This)->lpVtbl -> SetGraphicsRootShaderResourceView(This,RootParameterIndex,BufferLocation) )
- #define ID3D12GraphicsCommandList_SetComputeRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) \
- ( (This)->lpVtbl -> SetComputeRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) )
- #define ID3D12GraphicsCommandList_SetGraphicsRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) \
- ( (This)->lpVtbl -> SetGraphicsRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) )
- #define ID3D12GraphicsCommandList_IASetIndexBuffer(This,pView) \
- ( (This)->lpVtbl -> IASetIndexBuffer(This,pView) )
- #define ID3D12GraphicsCommandList_IASetVertexBuffers(This,StartSlot,NumViews,pViews) \
- ( (This)->lpVtbl -> IASetVertexBuffers(This,StartSlot,NumViews,pViews) )
- #define ID3D12GraphicsCommandList_SOSetTargets(This,StartSlot,NumViews,pViews) \
- ( (This)->lpVtbl -> SOSetTargets(This,StartSlot,NumViews,pViews) )
- #define ID3D12GraphicsCommandList_OMSetRenderTargets(This,NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) \
- ( (This)->lpVtbl -> OMSetRenderTargets(This,NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) )
- #define ID3D12GraphicsCommandList_ClearDepthStencilView(This,DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) \
- ( (This)->lpVtbl -> ClearDepthStencilView(This,DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) )
- #define ID3D12GraphicsCommandList_ClearRenderTargetView(This,RenderTargetView,ColorRGBA,NumRects,pRects) \
- ( (This)->lpVtbl -> ClearRenderTargetView(This,RenderTargetView,ColorRGBA,NumRects,pRects) )
- #define ID3D12GraphicsCommandList_ClearUnorderedAccessViewUint(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) \
- ( (This)->lpVtbl -> ClearUnorderedAccessViewUint(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) )
- #define ID3D12GraphicsCommandList_ClearUnorderedAccessViewFloat(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) \
- ( (This)->lpVtbl -> ClearUnorderedAccessViewFloat(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) )
- #define ID3D12GraphicsCommandList_DiscardResource(This,pResource,pRegion) \
- ( (This)->lpVtbl -> DiscardResource(This,pResource,pRegion) )
- #define ID3D12GraphicsCommandList_BeginQuery(This,pQueryHeap,Type,Index) \
- ( (This)->lpVtbl -> BeginQuery(This,pQueryHeap,Type,Index) )
- #define ID3D12GraphicsCommandList_EndQuery(This,pQueryHeap,Type,Index) \
- ( (This)->lpVtbl -> EndQuery(This,pQueryHeap,Type,Index) )
- #define ID3D12GraphicsCommandList_ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) \
- ( (This)->lpVtbl -> ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) )
- #define ID3D12GraphicsCommandList_SetPredication(This,pBuffer,AlignedBufferOffset,Operation) \
- ( (This)->lpVtbl -> SetPredication(This,pBuffer,AlignedBufferOffset,Operation) )
- #define ID3D12GraphicsCommandList_SetMarker(This,Metadata,pData,Size) \
- ( (This)->lpVtbl -> SetMarker(This,Metadata,pData,Size) )
- #define ID3D12GraphicsCommandList_BeginEvent(This,Metadata,pData,Size) \
- ( (This)->lpVtbl -> BeginEvent(This,Metadata,pData,Size) )
- #define ID3D12GraphicsCommandList_EndEvent(This) \
- ( (This)->lpVtbl -> EndEvent(This) )
- #define ID3D12GraphicsCommandList_ExecuteIndirect(This,pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) \
- ( (This)->lpVtbl -> ExecuteIndirect(This,pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) )
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __ID3D12GraphicsCommandList_INTERFACE_DEFINED__ */
- #ifndef __ID3D12GraphicsCommandList1_INTERFACE_DEFINED__
- #define __ID3D12GraphicsCommandList1_INTERFACE_DEFINED__
- /* interface ID3D12GraphicsCommandList1 */
- /* [unique][local][object][uuid] */
- EXTERN_C const IID IID_ID3D12GraphicsCommandList1;
- #if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("553103fb-1fe7-4557-bb38-946d7d0e7ca7")
- ID3D12GraphicsCommandList1 : public ID3D12GraphicsCommandList
- {
- public:
- virtual void STDMETHODCALLTYPE AtomicCopyBufferUINT(
- _In_ ID3D12Resource *pDstBuffer,
- UINT64 DstOffset,
- _In_ ID3D12Resource *pSrcBuffer,
- UINT64 SrcOffset,
- UINT Dependencies,
- _In_reads_(Dependencies) ID3D12Resource *const *ppDependentResources,
- _In_reads_(Dependencies) const D3D12_SUBRESOURCE_RANGE_UINT64 *pDependentSubresourceRanges) = 0;
-
- virtual void STDMETHODCALLTYPE AtomicCopyBufferUINT64(
- _In_ ID3D12Resource *pDstBuffer,
- UINT64 DstOffset,
- _In_ ID3D12Resource *pSrcBuffer,
- UINT64 SrcOffset,
- UINT Dependencies,
- _In_reads_(Dependencies) ID3D12Resource *const *ppDependentResources,
- _In_reads_(Dependencies) const D3D12_SUBRESOURCE_RANGE_UINT64 *pDependentSubresourceRanges) = 0;
-
- virtual void STDMETHODCALLTYPE OMSetDepthBounds(
- _In_ FLOAT Min,
- _In_ FLOAT Max) = 0;
-
- virtual void STDMETHODCALLTYPE SetSamplePositions(
- _In_ UINT NumSamplesPerPixel,
- _In_ UINT NumPixels,
- _In_reads_(NumSamplesPerPixel*NumPixels) D3D12_SAMPLE_POSITION *pSamplePositions) = 0;
-
- virtual void STDMETHODCALLTYPE ResolveSubresourceRegion(
- _In_ ID3D12Resource *pDstResource,
- _In_ UINT DstSubresource,
- _In_ UINT DstX,
- _In_ UINT DstY,
- _In_ ID3D12Resource *pSrcResource,
- _In_ UINT SrcSubresource,
- _In_opt_ D3D12_RECT *pSrcRect,
- _In_ DXGI_FORMAT Format,
- _In_ D3D12_RESOLVE_MODE ResolveMode) = 0;
-
- virtual void STDMETHODCALLTYPE SetViewInstanceMask(
- _In_ UINT Mask) = 0;
-
- };
-
-
- #else /* C style interface */
- typedef struct ID3D12GraphicsCommandList1Vtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12GraphicsCommandList1 * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12GraphicsCommandList1 * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12GraphicsCommandList1 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12GraphicsCommandList1 * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12GraphicsCommandList1 * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12GraphicsCommandList1 * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetName)
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12GraphicsCommandList1 * This,
- _In_z_ LPCWSTR Name);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice)
- HRESULT ( STDMETHODCALLTYPE *GetDevice )(
- ID3D12GraphicsCommandList1 * This,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvDevice);
-
- DECLSPEC_XFGVIRT(ID3D12CommandList, GetType)
- D3D12_COMMAND_LIST_TYPE ( STDMETHODCALLTYPE *GetType )(
- ID3D12GraphicsCommandList1 * This);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, Close)
- HRESULT ( STDMETHODCALLTYPE *Close )(
- ID3D12GraphicsCommandList1 * This);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, Reset)
- HRESULT ( STDMETHODCALLTYPE *Reset )(
- ID3D12GraphicsCommandList1 * This,
- _In_ ID3D12CommandAllocator *pAllocator,
- _In_opt_ ID3D12PipelineState *pInitialState);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearState)
- void ( STDMETHODCALLTYPE *ClearState )(
- ID3D12GraphicsCommandList1 * This,
- _In_opt_ ID3D12PipelineState *pPipelineState);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, DrawInstanced)
- void ( STDMETHODCALLTYPE *DrawInstanced )(
- ID3D12GraphicsCommandList1 * This,
- _In_ UINT VertexCountPerInstance,
- _In_ UINT InstanceCount,
- _In_ UINT StartVertexLocation,
- _In_ UINT StartInstanceLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, DrawIndexedInstanced)
- void ( STDMETHODCALLTYPE *DrawIndexedInstanced )(
- ID3D12GraphicsCommandList1 * This,
- _In_ UINT IndexCountPerInstance,
- _In_ UINT InstanceCount,
- _In_ UINT StartIndexLocation,
- _In_ INT BaseVertexLocation,
- _In_ UINT StartInstanceLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, Dispatch)
- void ( STDMETHODCALLTYPE *Dispatch )(
- ID3D12GraphicsCommandList1 * This,
- _In_ UINT ThreadGroupCountX,
- _In_ UINT ThreadGroupCountY,
- _In_ UINT ThreadGroupCountZ);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyBufferRegion)
- void ( STDMETHODCALLTYPE *CopyBufferRegion )(
- ID3D12GraphicsCommandList1 * This,
- _In_ ID3D12Resource *pDstBuffer,
- UINT64 DstOffset,
- _In_ ID3D12Resource *pSrcBuffer,
- UINT64 SrcOffset,
- UINT64 NumBytes);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyTextureRegion)
- void ( STDMETHODCALLTYPE *CopyTextureRegion )(
- ID3D12GraphicsCommandList1 * This,
- _In_ const D3D12_TEXTURE_COPY_LOCATION *pDst,
- UINT DstX,
- UINT DstY,
- UINT DstZ,
- _In_ const D3D12_TEXTURE_COPY_LOCATION *pSrc,
- _In_opt_ const D3D12_BOX *pSrcBox);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyResource)
- void ( STDMETHODCALLTYPE *CopyResource )(
- ID3D12GraphicsCommandList1 * This,
- _In_ ID3D12Resource *pDstResource,
- _In_ ID3D12Resource *pSrcResource);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyTiles)
- void ( STDMETHODCALLTYPE *CopyTiles )(
- ID3D12GraphicsCommandList1 * This,
- _In_ ID3D12Resource *pTiledResource,
- _In_ const D3D12_TILED_RESOURCE_COORDINATE *pTileRegionStartCoordinate,
- _In_ const D3D12_TILE_REGION_SIZE *pTileRegionSize,
- _In_ ID3D12Resource *pBuffer,
- UINT64 BufferStartOffsetInBytes,
- D3D12_TILE_COPY_FLAGS Flags);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ResolveSubresource)
- void ( STDMETHODCALLTYPE *ResolveSubresource )(
- ID3D12GraphicsCommandList1 * This,
- _In_ ID3D12Resource *pDstResource,
- _In_ UINT DstSubresource,
- _In_ ID3D12Resource *pSrcResource,
- _In_ UINT SrcSubresource,
- _In_ DXGI_FORMAT Format);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, IASetPrimitiveTopology)
- void ( STDMETHODCALLTYPE *IASetPrimitiveTopology )(
- ID3D12GraphicsCommandList1 * This,
- _In_ D3D12_PRIMITIVE_TOPOLOGY PrimitiveTopology);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, RSSetViewports)
- void ( STDMETHODCALLTYPE *RSSetViewports )(
- ID3D12GraphicsCommandList1 * This,
- _In_range_(0, D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE) UINT NumViewports,
- _In_reads_( NumViewports) const D3D12_VIEWPORT *pViewports);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, RSSetScissorRects)
- void ( STDMETHODCALLTYPE *RSSetScissorRects )(
- ID3D12GraphicsCommandList1 * This,
- _In_range_(0, D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE) UINT NumRects,
- _In_reads_( NumRects) const D3D12_RECT *pRects);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, OMSetBlendFactor)
- void ( STDMETHODCALLTYPE *OMSetBlendFactor )(
- ID3D12GraphicsCommandList1 * This,
- _In_reads_opt_(4) const FLOAT BlendFactor[ 4 ]);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, OMSetStencilRef)
- void ( STDMETHODCALLTYPE *OMSetStencilRef )(
- ID3D12GraphicsCommandList1 * This,
- _In_ UINT StencilRef);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetPipelineState)
- void ( STDMETHODCALLTYPE *SetPipelineState )(
- ID3D12GraphicsCommandList1 * This,
- _In_ ID3D12PipelineState *pPipelineState);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ResourceBarrier)
- void ( STDMETHODCALLTYPE *ResourceBarrier )(
- ID3D12GraphicsCommandList1 * This,
- _In_ UINT NumBarriers,
- _In_reads_(NumBarriers) const D3D12_RESOURCE_BARRIER *pBarriers);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ExecuteBundle)
- void ( STDMETHODCALLTYPE *ExecuteBundle )(
- ID3D12GraphicsCommandList1 * This,
- _In_ ID3D12GraphicsCommandList *pCommandList);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetDescriptorHeaps)
- void ( STDMETHODCALLTYPE *SetDescriptorHeaps )(
- ID3D12GraphicsCommandList1 * This,
- _In_ UINT NumDescriptorHeaps,
- _In_reads_(NumDescriptorHeaps) ID3D12DescriptorHeap *const *ppDescriptorHeaps);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootSignature)
- void ( STDMETHODCALLTYPE *SetComputeRootSignature )(
- ID3D12GraphicsCommandList1 * This,
- _In_opt_ ID3D12RootSignature *pRootSignature);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootSignature)
- void ( STDMETHODCALLTYPE *SetGraphicsRootSignature )(
- ID3D12GraphicsCommandList1 * This,
- _In_opt_ ID3D12RootSignature *pRootSignature);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootDescriptorTable)
- void ( STDMETHODCALLTYPE *SetComputeRootDescriptorTable )(
- ID3D12GraphicsCommandList1 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootDescriptorTable)
- void ( STDMETHODCALLTYPE *SetGraphicsRootDescriptorTable )(
- ID3D12GraphicsCommandList1 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRoot32BitConstant)
- void ( STDMETHODCALLTYPE *SetComputeRoot32BitConstant )(
- ID3D12GraphicsCommandList1 * This,
- _In_ UINT RootParameterIndex,
- _In_ UINT SrcData,
- _In_ UINT DestOffsetIn32BitValues);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRoot32BitConstant)
- void ( STDMETHODCALLTYPE *SetGraphicsRoot32BitConstant )(
- ID3D12GraphicsCommandList1 * This,
- _In_ UINT RootParameterIndex,
- _In_ UINT SrcData,
- _In_ UINT DestOffsetIn32BitValues);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRoot32BitConstants)
- void ( STDMETHODCALLTYPE *SetComputeRoot32BitConstants )(
- ID3D12GraphicsCommandList1 * This,
- _In_ UINT RootParameterIndex,
- _In_ UINT Num32BitValuesToSet,
- _In_reads_(Num32BitValuesToSet*sizeof(UINT)) const void *pSrcData,
- _In_ UINT DestOffsetIn32BitValues);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRoot32BitConstants)
- void ( STDMETHODCALLTYPE *SetGraphicsRoot32BitConstants )(
- ID3D12GraphicsCommandList1 * This,
- _In_ UINT RootParameterIndex,
- _In_ UINT Num32BitValuesToSet,
- _In_reads_(Num32BitValuesToSet*sizeof(UINT)) const void *pSrcData,
- _In_ UINT DestOffsetIn32BitValues);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootConstantBufferView)
- void ( STDMETHODCALLTYPE *SetComputeRootConstantBufferView )(
- ID3D12GraphicsCommandList1 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootConstantBufferView)
- void ( STDMETHODCALLTYPE *SetGraphicsRootConstantBufferView )(
- ID3D12GraphicsCommandList1 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootShaderResourceView)
- void ( STDMETHODCALLTYPE *SetComputeRootShaderResourceView )(
- ID3D12GraphicsCommandList1 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootShaderResourceView)
- void ( STDMETHODCALLTYPE *SetGraphicsRootShaderResourceView )(
- ID3D12GraphicsCommandList1 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootUnorderedAccessView)
- void ( STDMETHODCALLTYPE *SetComputeRootUnorderedAccessView )(
- ID3D12GraphicsCommandList1 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootUnorderedAccessView)
- void ( STDMETHODCALLTYPE *SetGraphicsRootUnorderedAccessView )(
- ID3D12GraphicsCommandList1 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, IASetIndexBuffer)
- void ( STDMETHODCALLTYPE *IASetIndexBuffer )(
- ID3D12GraphicsCommandList1 * This,
- _In_opt_ const D3D12_INDEX_BUFFER_VIEW *pView);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, IASetVertexBuffers)
- void ( STDMETHODCALLTYPE *IASetVertexBuffers )(
- ID3D12GraphicsCommandList1 * This,
- _In_ UINT StartSlot,
- _In_ UINT NumViews,
- _In_reads_opt_(NumViews) const D3D12_VERTEX_BUFFER_VIEW *pViews);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SOSetTargets)
- void ( STDMETHODCALLTYPE *SOSetTargets )(
- ID3D12GraphicsCommandList1 * This,
- _In_ UINT StartSlot,
- _In_ UINT NumViews,
- _In_reads_opt_(NumViews) const D3D12_STREAM_OUTPUT_BUFFER_VIEW *pViews);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, OMSetRenderTargets)
- void ( STDMETHODCALLTYPE *OMSetRenderTargets )(
- ID3D12GraphicsCommandList1 * This,
- _In_ UINT NumRenderTargetDescriptors,
- _In_opt_ const D3D12_CPU_DESCRIPTOR_HANDLE *pRenderTargetDescriptors,
- _In_ BOOL RTsSingleHandleToDescriptorRange,
- _In_opt_ const D3D12_CPU_DESCRIPTOR_HANDLE *pDepthStencilDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearDepthStencilView)
- void ( STDMETHODCALLTYPE *ClearDepthStencilView )(
- ID3D12GraphicsCommandList1 * This,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DepthStencilView,
- _In_ D3D12_CLEAR_FLAGS ClearFlags,
- _In_ FLOAT Depth,
- _In_ UINT8 Stencil,
- _In_ UINT NumRects,
- _In_reads_(NumRects) const D3D12_RECT *pRects);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearRenderTargetView)
- void ( STDMETHODCALLTYPE *ClearRenderTargetView )(
- ID3D12GraphicsCommandList1 * This,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE RenderTargetView,
- _In_ const FLOAT ColorRGBA[ 4 ],
- _In_ UINT NumRects,
- _In_reads_(NumRects) const D3D12_RECT *pRects);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearUnorderedAccessViewUint)
- void ( STDMETHODCALLTYPE *ClearUnorderedAccessViewUint )(
- ID3D12GraphicsCommandList1 * This,
- _In_ D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle,
- _In_ ID3D12Resource *pResource,
- _In_ const UINT Values[ 4 ],
- _In_ UINT NumRects,
- _In_reads_(NumRects) const D3D12_RECT *pRects);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearUnorderedAccessViewFloat)
- void ( STDMETHODCALLTYPE *ClearUnorderedAccessViewFloat )(
- ID3D12GraphicsCommandList1 * This,
- _In_ D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle,
- _In_ ID3D12Resource *pResource,
- _In_ const FLOAT Values[ 4 ],
- _In_ UINT NumRects,
- _In_reads_(NumRects) const D3D12_RECT *pRects);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, DiscardResource)
- void ( STDMETHODCALLTYPE *DiscardResource )(
- ID3D12GraphicsCommandList1 * This,
- _In_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_DISCARD_REGION *pRegion);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, BeginQuery)
- void ( STDMETHODCALLTYPE *BeginQuery )(
- ID3D12GraphicsCommandList1 * This,
- _In_ ID3D12QueryHeap *pQueryHeap,
- _In_ D3D12_QUERY_TYPE Type,
- _In_ UINT Index);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, EndQuery)
- void ( STDMETHODCALLTYPE *EndQuery )(
- ID3D12GraphicsCommandList1 * This,
- _In_ ID3D12QueryHeap *pQueryHeap,
- _In_ D3D12_QUERY_TYPE Type,
- _In_ UINT Index);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ResolveQueryData)
- void ( STDMETHODCALLTYPE *ResolveQueryData )(
- ID3D12GraphicsCommandList1 * This,
- _In_ ID3D12QueryHeap *pQueryHeap,
- _In_ D3D12_QUERY_TYPE Type,
- _In_ UINT StartIndex,
- _In_ UINT NumQueries,
- _In_ ID3D12Resource *pDestinationBuffer,
- _In_ UINT64 AlignedDestinationBufferOffset);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetPredication)
- void ( STDMETHODCALLTYPE *SetPredication )(
- ID3D12GraphicsCommandList1 * This,
- _In_opt_ ID3D12Resource *pBuffer,
- _In_ UINT64 AlignedBufferOffset,
- _In_ D3D12_PREDICATION_OP Operation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetMarker)
- void ( STDMETHODCALLTYPE *SetMarker )(
- ID3D12GraphicsCommandList1 * This,
- UINT Metadata,
- _In_reads_bytes_opt_(Size) const void *pData,
- UINT Size);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, BeginEvent)
- void ( STDMETHODCALLTYPE *BeginEvent )(
- ID3D12GraphicsCommandList1 * This,
- UINT Metadata,
- _In_reads_bytes_opt_(Size) const void *pData,
- UINT Size);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, EndEvent)
- void ( STDMETHODCALLTYPE *EndEvent )(
- ID3D12GraphicsCommandList1 * This);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ExecuteIndirect)
- void ( STDMETHODCALLTYPE *ExecuteIndirect )(
- ID3D12GraphicsCommandList1 * This,
- _In_ ID3D12CommandSignature *pCommandSignature,
- _In_ UINT MaxCommandCount,
- _In_ ID3D12Resource *pArgumentBuffer,
- _In_ UINT64 ArgumentBufferOffset,
- _In_opt_ ID3D12Resource *pCountBuffer,
- _In_ UINT64 CountBufferOffset);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, AtomicCopyBufferUINT)
- void ( STDMETHODCALLTYPE *AtomicCopyBufferUINT )(
- ID3D12GraphicsCommandList1 * This,
- _In_ ID3D12Resource *pDstBuffer,
- UINT64 DstOffset,
- _In_ ID3D12Resource *pSrcBuffer,
- UINT64 SrcOffset,
- UINT Dependencies,
- _In_reads_(Dependencies) ID3D12Resource *const *ppDependentResources,
- _In_reads_(Dependencies) const D3D12_SUBRESOURCE_RANGE_UINT64 *pDependentSubresourceRanges);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, AtomicCopyBufferUINT64)
- void ( STDMETHODCALLTYPE *AtomicCopyBufferUINT64 )(
- ID3D12GraphicsCommandList1 * This,
- _In_ ID3D12Resource *pDstBuffer,
- UINT64 DstOffset,
- _In_ ID3D12Resource *pSrcBuffer,
- UINT64 SrcOffset,
- UINT Dependencies,
- _In_reads_(Dependencies) ID3D12Resource *const *ppDependentResources,
- _In_reads_(Dependencies) const D3D12_SUBRESOURCE_RANGE_UINT64 *pDependentSubresourceRanges);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, OMSetDepthBounds)
- void ( STDMETHODCALLTYPE *OMSetDepthBounds )(
- ID3D12GraphicsCommandList1 * This,
- _In_ FLOAT Min,
- _In_ FLOAT Max);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, SetSamplePositions)
- void ( STDMETHODCALLTYPE *SetSamplePositions )(
- ID3D12GraphicsCommandList1 * This,
- _In_ UINT NumSamplesPerPixel,
- _In_ UINT NumPixels,
- _In_reads_(NumSamplesPerPixel*NumPixels) D3D12_SAMPLE_POSITION *pSamplePositions);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, ResolveSubresourceRegion)
- void ( STDMETHODCALLTYPE *ResolveSubresourceRegion )(
- ID3D12GraphicsCommandList1 * This,
- _In_ ID3D12Resource *pDstResource,
- _In_ UINT DstSubresource,
- _In_ UINT DstX,
- _In_ UINT DstY,
- _In_ ID3D12Resource *pSrcResource,
- _In_ UINT SrcSubresource,
- _In_opt_ D3D12_RECT *pSrcRect,
- _In_ DXGI_FORMAT Format,
- _In_ D3D12_RESOLVE_MODE ResolveMode);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, SetViewInstanceMask)
- void ( STDMETHODCALLTYPE *SetViewInstanceMask )(
- ID3D12GraphicsCommandList1 * This,
- _In_ UINT Mask);
-
- END_INTERFACE
- } ID3D12GraphicsCommandList1Vtbl;
- interface ID3D12GraphicsCommandList1
- {
- CONST_VTBL struct ID3D12GraphicsCommandList1Vtbl *lpVtbl;
- };
-
- #ifdef COBJMACROS
- #define ID3D12GraphicsCommandList1_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define ID3D12GraphicsCommandList1_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define ID3D12GraphicsCommandList1_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #define ID3D12GraphicsCommandList1_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
- #define ID3D12GraphicsCommandList1_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
- #define ID3D12GraphicsCommandList1_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
- #define ID3D12GraphicsCommandList1_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
- #define ID3D12GraphicsCommandList1_GetDevice(This,riid,ppvDevice) \
- ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
- #define ID3D12GraphicsCommandList1_GetType(This) \
- ( (This)->lpVtbl -> GetType(This) )
- #define ID3D12GraphicsCommandList1_Close(This) \
- ( (This)->lpVtbl -> Close(This) )
- #define ID3D12GraphicsCommandList1_Reset(This,pAllocator,pInitialState) \
- ( (This)->lpVtbl -> Reset(This,pAllocator,pInitialState) )
- #define ID3D12GraphicsCommandList1_ClearState(This,pPipelineState) \
- ( (This)->lpVtbl -> ClearState(This,pPipelineState) )
- #define ID3D12GraphicsCommandList1_DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) \
- ( (This)->lpVtbl -> DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) )
- #define ID3D12GraphicsCommandList1_DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) \
- ( (This)->lpVtbl -> DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) )
- #define ID3D12GraphicsCommandList1_Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) \
- ( (This)->lpVtbl -> Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) )
- #define ID3D12GraphicsCommandList1_CopyBufferRegion(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) \
- ( (This)->lpVtbl -> CopyBufferRegion(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) )
- #define ID3D12GraphicsCommandList1_CopyTextureRegion(This,pDst,DstX,DstY,DstZ,pSrc,pSrcBox) \
- ( (This)->lpVtbl -> CopyTextureRegion(This,pDst,DstX,DstY,DstZ,pSrc,pSrcBox) )
- #define ID3D12GraphicsCommandList1_CopyResource(This,pDstResource,pSrcResource) \
- ( (This)->lpVtbl -> CopyResource(This,pDstResource,pSrcResource) )
- #define ID3D12GraphicsCommandList1_CopyTiles(This,pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) \
- ( (This)->lpVtbl -> CopyTiles(This,pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) )
- #define ID3D12GraphicsCommandList1_ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) \
- ( (This)->lpVtbl -> ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) )
- #define ID3D12GraphicsCommandList1_IASetPrimitiveTopology(This,PrimitiveTopology) \
- ( (This)->lpVtbl -> IASetPrimitiveTopology(This,PrimitiveTopology) )
- #define ID3D12GraphicsCommandList1_RSSetViewports(This,NumViewports,pViewports) \
- ( (This)->lpVtbl -> RSSetViewports(This,NumViewports,pViewports) )
- #define ID3D12GraphicsCommandList1_RSSetScissorRects(This,NumRects,pRects) \
- ( (This)->lpVtbl -> RSSetScissorRects(This,NumRects,pRects) )
- #define ID3D12GraphicsCommandList1_OMSetBlendFactor(This,BlendFactor) \
- ( (This)->lpVtbl -> OMSetBlendFactor(This,BlendFactor) )
- #define ID3D12GraphicsCommandList1_OMSetStencilRef(This,StencilRef) \
- ( (This)->lpVtbl -> OMSetStencilRef(This,StencilRef) )
- #define ID3D12GraphicsCommandList1_SetPipelineState(This,pPipelineState) \
- ( (This)->lpVtbl -> SetPipelineState(This,pPipelineState) )
- #define ID3D12GraphicsCommandList1_ResourceBarrier(This,NumBarriers,pBarriers) \
- ( (This)->lpVtbl -> ResourceBarrier(This,NumBarriers,pBarriers) )
- #define ID3D12GraphicsCommandList1_ExecuteBundle(This,pCommandList) \
- ( (This)->lpVtbl -> ExecuteBundle(This,pCommandList) )
- #define ID3D12GraphicsCommandList1_SetDescriptorHeaps(This,NumDescriptorHeaps,ppDescriptorHeaps) \
- ( (This)->lpVtbl -> SetDescriptorHeaps(This,NumDescriptorHeaps,ppDescriptorHeaps) )
- #define ID3D12GraphicsCommandList1_SetComputeRootSignature(This,pRootSignature) \
- ( (This)->lpVtbl -> SetComputeRootSignature(This,pRootSignature) )
- #define ID3D12GraphicsCommandList1_SetGraphicsRootSignature(This,pRootSignature) \
- ( (This)->lpVtbl -> SetGraphicsRootSignature(This,pRootSignature) )
- #define ID3D12GraphicsCommandList1_SetComputeRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) \
- ( (This)->lpVtbl -> SetComputeRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) )
- #define ID3D12GraphicsCommandList1_SetGraphicsRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) \
- ( (This)->lpVtbl -> SetGraphicsRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) )
- #define ID3D12GraphicsCommandList1_SetComputeRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) \
- ( (This)->lpVtbl -> SetComputeRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) )
- #define ID3D12GraphicsCommandList1_SetGraphicsRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) \
- ( (This)->lpVtbl -> SetGraphicsRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) )
- #define ID3D12GraphicsCommandList1_SetComputeRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) \
- ( (This)->lpVtbl -> SetComputeRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) )
- #define ID3D12GraphicsCommandList1_SetGraphicsRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) \
- ( (This)->lpVtbl -> SetGraphicsRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) )
- #define ID3D12GraphicsCommandList1_SetComputeRootConstantBufferView(This,RootParameterIndex,BufferLocation) \
- ( (This)->lpVtbl -> SetComputeRootConstantBufferView(This,RootParameterIndex,BufferLocation) )
- #define ID3D12GraphicsCommandList1_SetGraphicsRootConstantBufferView(This,RootParameterIndex,BufferLocation) \
- ( (This)->lpVtbl -> SetGraphicsRootConstantBufferView(This,RootParameterIndex,BufferLocation) )
- #define ID3D12GraphicsCommandList1_SetComputeRootShaderResourceView(This,RootParameterIndex,BufferLocation) \
- ( (This)->lpVtbl -> SetComputeRootShaderResourceView(This,RootParameterIndex,BufferLocation) )
- #define ID3D12GraphicsCommandList1_SetGraphicsRootShaderResourceView(This,RootParameterIndex,BufferLocation) \
- ( (This)->lpVtbl -> SetGraphicsRootShaderResourceView(This,RootParameterIndex,BufferLocation) )
- #define ID3D12GraphicsCommandList1_SetComputeRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) \
- ( (This)->lpVtbl -> SetComputeRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) )
- #define ID3D12GraphicsCommandList1_SetGraphicsRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) \
- ( (This)->lpVtbl -> SetGraphicsRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) )
- #define ID3D12GraphicsCommandList1_IASetIndexBuffer(This,pView) \
- ( (This)->lpVtbl -> IASetIndexBuffer(This,pView) )
- #define ID3D12GraphicsCommandList1_IASetVertexBuffers(This,StartSlot,NumViews,pViews) \
- ( (This)->lpVtbl -> IASetVertexBuffers(This,StartSlot,NumViews,pViews) )
- #define ID3D12GraphicsCommandList1_SOSetTargets(This,StartSlot,NumViews,pViews) \
- ( (This)->lpVtbl -> SOSetTargets(This,StartSlot,NumViews,pViews) )
- #define ID3D12GraphicsCommandList1_OMSetRenderTargets(This,NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) \
- ( (This)->lpVtbl -> OMSetRenderTargets(This,NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) )
- #define ID3D12GraphicsCommandList1_ClearDepthStencilView(This,DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) \
- ( (This)->lpVtbl -> ClearDepthStencilView(This,DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) )
- #define ID3D12GraphicsCommandList1_ClearRenderTargetView(This,RenderTargetView,ColorRGBA,NumRects,pRects) \
- ( (This)->lpVtbl -> ClearRenderTargetView(This,RenderTargetView,ColorRGBA,NumRects,pRects) )
- #define ID3D12GraphicsCommandList1_ClearUnorderedAccessViewUint(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) \
- ( (This)->lpVtbl -> ClearUnorderedAccessViewUint(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) )
- #define ID3D12GraphicsCommandList1_ClearUnorderedAccessViewFloat(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) \
- ( (This)->lpVtbl -> ClearUnorderedAccessViewFloat(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) )
- #define ID3D12GraphicsCommandList1_DiscardResource(This,pResource,pRegion) \
- ( (This)->lpVtbl -> DiscardResource(This,pResource,pRegion) )
- #define ID3D12GraphicsCommandList1_BeginQuery(This,pQueryHeap,Type,Index) \
- ( (This)->lpVtbl -> BeginQuery(This,pQueryHeap,Type,Index) )
- #define ID3D12GraphicsCommandList1_EndQuery(This,pQueryHeap,Type,Index) \
- ( (This)->lpVtbl -> EndQuery(This,pQueryHeap,Type,Index) )
- #define ID3D12GraphicsCommandList1_ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) \
- ( (This)->lpVtbl -> ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) )
- #define ID3D12GraphicsCommandList1_SetPredication(This,pBuffer,AlignedBufferOffset,Operation) \
- ( (This)->lpVtbl -> SetPredication(This,pBuffer,AlignedBufferOffset,Operation) )
- #define ID3D12GraphicsCommandList1_SetMarker(This,Metadata,pData,Size) \
- ( (This)->lpVtbl -> SetMarker(This,Metadata,pData,Size) )
- #define ID3D12GraphicsCommandList1_BeginEvent(This,Metadata,pData,Size) \
- ( (This)->lpVtbl -> BeginEvent(This,Metadata,pData,Size) )
- #define ID3D12GraphicsCommandList1_EndEvent(This) \
- ( (This)->lpVtbl -> EndEvent(This) )
- #define ID3D12GraphicsCommandList1_ExecuteIndirect(This,pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) \
- ( (This)->lpVtbl -> ExecuteIndirect(This,pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) )
- #define ID3D12GraphicsCommandList1_AtomicCopyBufferUINT(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) \
- ( (This)->lpVtbl -> AtomicCopyBufferUINT(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) )
- #define ID3D12GraphicsCommandList1_AtomicCopyBufferUINT64(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) \
- ( (This)->lpVtbl -> AtomicCopyBufferUINT64(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) )
- #define ID3D12GraphicsCommandList1_OMSetDepthBounds(This,Min,Max) \
- ( (This)->lpVtbl -> OMSetDepthBounds(This,Min,Max) )
- #define ID3D12GraphicsCommandList1_SetSamplePositions(This,NumSamplesPerPixel,NumPixels,pSamplePositions) \
- ( (This)->lpVtbl -> SetSamplePositions(This,NumSamplesPerPixel,NumPixels,pSamplePositions) )
- #define ID3D12GraphicsCommandList1_ResolveSubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode) \
- ( (This)->lpVtbl -> ResolveSubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode) )
- #define ID3D12GraphicsCommandList1_SetViewInstanceMask(This,Mask) \
- ( (This)->lpVtbl -> SetViewInstanceMask(This,Mask) )
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __ID3D12GraphicsCommandList1_INTERFACE_DEFINED__ */
- /* interface __MIDL_itf_d3d12_0000_0018 */
- /* [local] */
- typedef struct D3D12_WRITEBUFFERIMMEDIATE_PARAMETER
- {
- D3D12_GPU_VIRTUAL_ADDRESS Dest;
- UINT32 Value;
- } D3D12_WRITEBUFFERIMMEDIATE_PARAMETER;
- typedef
- enum D3D12_WRITEBUFFERIMMEDIATE_MODE
- {
- D3D12_WRITEBUFFERIMMEDIATE_MODE_DEFAULT = 0,
- D3D12_WRITEBUFFERIMMEDIATE_MODE_MARKER_IN = 0x1,
- D3D12_WRITEBUFFERIMMEDIATE_MODE_MARKER_OUT = 0x2
- } D3D12_WRITEBUFFERIMMEDIATE_MODE;
- extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0018_v0_0_c_ifspec;
- extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0018_v0_0_s_ifspec;
- #ifndef __ID3D12GraphicsCommandList2_INTERFACE_DEFINED__
- #define __ID3D12GraphicsCommandList2_INTERFACE_DEFINED__
- /* interface ID3D12GraphicsCommandList2 */
- /* [unique][local][object][uuid] */
- EXTERN_C const IID IID_ID3D12GraphicsCommandList2;
- #if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("38C3E585-FF17-412C-9150-4FC6F9D72A28")
- ID3D12GraphicsCommandList2 : public ID3D12GraphicsCommandList1
- {
- public:
- virtual void STDMETHODCALLTYPE WriteBufferImmediate(
- UINT Count,
- _In_reads_(Count) const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *pParams,
- _In_reads_opt_(Count) const D3D12_WRITEBUFFERIMMEDIATE_MODE *pModes) = 0;
-
- };
-
-
- #else /* C style interface */
- typedef struct ID3D12GraphicsCommandList2Vtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12GraphicsCommandList2 * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12GraphicsCommandList2 * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12GraphicsCommandList2 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12GraphicsCommandList2 * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12GraphicsCommandList2 * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12GraphicsCommandList2 * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetName)
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12GraphicsCommandList2 * This,
- _In_z_ LPCWSTR Name);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice)
- HRESULT ( STDMETHODCALLTYPE *GetDevice )(
- ID3D12GraphicsCommandList2 * This,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvDevice);
-
- DECLSPEC_XFGVIRT(ID3D12CommandList, GetType)
- D3D12_COMMAND_LIST_TYPE ( STDMETHODCALLTYPE *GetType )(
- ID3D12GraphicsCommandList2 * This);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, Close)
- HRESULT ( STDMETHODCALLTYPE *Close )(
- ID3D12GraphicsCommandList2 * This);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, Reset)
- HRESULT ( STDMETHODCALLTYPE *Reset )(
- ID3D12GraphicsCommandList2 * This,
- _In_ ID3D12CommandAllocator *pAllocator,
- _In_opt_ ID3D12PipelineState *pInitialState);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearState)
- void ( STDMETHODCALLTYPE *ClearState )(
- ID3D12GraphicsCommandList2 * This,
- _In_opt_ ID3D12PipelineState *pPipelineState);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, DrawInstanced)
- void ( STDMETHODCALLTYPE *DrawInstanced )(
- ID3D12GraphicsCommandList2 * This,
- _In_ UINT VertexCountPerInstance,
- _In_ UINT InstanceCount,
- _In_ UINT StartVertexLocation,
- _In_ UINT StartInstanceLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, DrawIndexedInstanced)
- void ( STDMETHODCALLTYPE *DrawIndexedInstanced )(
- ID3D12GraphicsCommandList2 * This,
- _In_ UINT IndexCountPerInstance,
- _In_ UINT InstanceCount,
- _In_ UINT StartIndexLocation,
- _In_ INT BaseVertexLocation,
- _In_ UINT StartInstanceLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, Dispatch)
- void ( STDMETHODCALLTYPE *Dispatch )(
- ID3D12GraphicsCommandList2 * This,
- _In_ UINT ThreadGroupCountX,
- _In_ UINT ThreadGroupCountY,
- _In_ UINT ThreadGroupCountZ);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyBufferRegion)
- void ( STDMETHODCALLTYPE *CopyBufferRegion )(
- ID3D12GraphicsCommandList2 * This,
- _In_ ID3D12Resource *pDstBuffer,
- UINT64 DstOffset,
- _In_ ID3D12Resource *pSrcBuffer,
- UINT64 SrcOffset,
- UINT64 NumBytes);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyTextureRegion)
- void ( STDMETHODCALLTYPE *CopyTextureRegion )(
- ID3D12GraphicsCommandList2 * This,
- _In_ const D3D12_TEXTURE_COPY_LOCATION *pDst,
- UINT DstX,
- UINT DstY,
- UINT DstZ,
- _In_ const D3D12_TEXTURE_COPY_LOCATION *pSrc,
- _In_opt_ const D3D12_BOX *pSrcBox);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyResource)
- void ( STDMETHODCALLTYPE *CopyResource )(
- ID3D12GraphicsCommandList2 * This,
- _In_ ID3D12Resource *pDstResource,
- _In_ ID3D12Resource *pSrcResource);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyTiles)
- void ( STDMETHODCALLTYPE *CopyTiles )(
- ID3D12GraphicsCommandList2 * This,
- _In_ ID3D12Resource *pTiledResource,
- _In_ const D3D12_TILED_RESOURCE_COORDINATE *pTileRegionStartCoordinate,
- _In_ const D3D12_TILE_REGION_SIZE *pTileRegionSize,
- _In_ ID3D12Resource *pBuffer,
- UINT64 BufferStartOffsetInBytes,
- D3D12_TILE_COPY_FLAGS Flags);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ResolveSubresource)
- void ( STDMETHODCALLTYPE *ResolveSubresource )(
- ID3D12GraphicsCommandList2 * This,
- _In_ ID3D12Resource *pDstResource,
- _In_ UINT DstSubresource,
- _In_ ID3D12Resource *pSrcResource,
- _In_ UINT SrcSubresource,
- _In_ DXGI_FORMAT Format);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, IASetPrimitiveTopology)
- void ( STDMETHODCALLTYPE *IASetPrimitiveTopology )(
- ID3D12GraphicsCommandList2 * This,
- _In_ D3D12_PRIMITIVE_TOPOLOGY PrimitiveTopology);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, RSSetViewports)
- void ( STDMETHODCALLTYPE *RSSetViewports )(
- ID3D12GraphicsCommandList2 * This,
- _In_range_(0, D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE) UINT NumViewports,
- _In_reads_( NumViewports) const D3D12_VIEWPORT *pViewports);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, RSSetScissorRects)
- void ( STDMETHODCALLTYPE *RSSetScissorRects )(
- ID3D12GraphicsCommandList2 * This,
- _In_range_(0, D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE) UINT NumRects,
- _In_reads_( NumRects) const D3D12_RECT *pRects);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, OMSetBlendFactor)
- void ( STDMETHODCALLTYPE *OMSetBlendFactor )(
- ID3D12GraphicsCommandList2 * This,
- _In_reads_opt_(4) const FLOAT BlendFactor[ 4 ]);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, OMSetStencilRef)
- void ( STDMETHODCALLTYPE *OMSetStencilRef )(
- ID3D12GraphicsCommandList2 * This,
- _In_ UINT StencilRef);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetPipelineState)
- void ( STDMETHODCALLTYPE *SetPipelineState )(
- ID3D12GraphicsCommandList2 * This,
- _In_ ID3D12PipelineState *pPipelineState);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ResourceBarrier)
- void ( STDMETHODCALLTYPE *ResourceBarrier )(
- ID3D12GraphicsCommandList2 * This,
- _In_ UINT NumBarriers,
- _In_reads_(NumBarriers) const D3D12_RESOURCE_BARRIER *pBarriers);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ExecuteBundle)
- void ( STDMETHODCALLTYPE *ExecuteBundle )(
- ID3D12GraphicsCommandList2 * This,
- _In_ ID3D12GraphicsCommandList *pCommandList);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetDescriptorHeaps)
- void ( STDMETHODCALLTYPE *SetDescriptorHeaps )(
- ID3D12GraphicsCommandList2 * This,
- _In_ UINT NumDescriptorHeaps,
- _In_reads_(NumDescriptorHeaps) ID3D12DescriptorHeap *const *ppDescriptorHeaps);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootSignature)
- void ( STDMETHODCALLTYPE *SetComputeRootSignature )(
- ID3D12GraphicsCommandList2 * This,
- _In_opt_ ID3D12RootSignature *pRootSignature);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootSignature)
- void ( STDMETHODCALLTYPE *SetGraphicsRootSignature )(
- ID3D12GraphicsCommandList2 * This,
- _In_opt_ ID3D12RootSignature *pRootSignature);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootDescriptorTable)
- void ( STDMETHODCALLTYPE *SetComputeRootDescriptorTable )(
- ID3D12GraphicsCommandList2 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootDescriptorTable)
- void ( STDMETHODCALLTYPE *SetGraphicsRootDescriptorTable )(
- ID3D12GraphicsCommandList2 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRoot32BitConstant)
- void ( STDMETHODCALLTYPE *SetComputeRoot32BitConstant )(
- ID3D12GraphicsCommandList2 * This,
- _In_ UINT RootParameterIndex,
- _In_ UINT SrcData,
- _In_ UINT DestOffsetIn32BitValues);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRoot32BitConstant)
- void ( STDMETHODCALLTYPE *SetGraphicsRoot32BitConstant )(
- ID3D12GraphicsCommandList2 * This,
- _In_ UINT RootParameterIndex,
- _In_ UINT SrcData,
- _In_ UINT DestOffsetIn32BitValues);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRoot32BitConstants)
- void ( STDMETHODCALLTYPE *SetComputeRoot32BitConstants )(
- ID3D12GraphicsCommandList2 * This,
- _In_ UINT RootParameterIndex,
- _In_ UINT Num32BitValuesToSet,
- _In_reads_(Num32BitValuesToSet*sizeof(UINT)) const void *pSrcData,
- _In_ UINT DestOffsetIn32BitValues);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRoot32BitConstants)
- void ( STDMETHODCALLTYPE *SetGraphicsRoot32BitConstants )(
- ID3D12GraphicsCommandList2 * This,
- _In_ UINT RootParameterIndex,
- _In_ UINT Num32BitValuesToSet,
- _In_reads_(Num32BitValuesToSet*sizeof(UINT)) const void *pSrcData,
- _In_ UINT DestOffsetIn32BitValues);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootConstantBufferView)
- void ( STDMETHODCALLTYPE *SetComputeRootConstantBufferView )(
- ID3D12GraphicsCommandList2 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootConstantBufferView)
- void ( STDMETHODCALLTYPE *SetGraphicsRootConstantBufferView )(
- ID3D12GraphicsCommandList2 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootShaderResourceView)
- void ( STDMETHODCALLTYPE *SetComputeRootShaderResourceView )(
- ID3D12GraphicsCommandList2 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootShaderResourceView)
- void ( STDMETHODCALLTYPE *SetGraphicsRootShaderResourceView )(
- ID3D12GraphicsCommandList2 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootUnorderedAccessView)
- void ( STDMETHODCALLTYPE *SetComputeRootUnorderedAccessView )(
- ID3D12GraphicsCommandList2 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootUnorderedAccessView)
- void ( STDMETHODCALLTYPE *SetGraphicsRootUnorderedAccessView )(
- ID3D12GraphicsCommandList2 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, IASetIndexBuffer)
- void ( STDMETHODCALLTYPE *IASetIndexBuffer )(
- ID3D12GraphicsCommandList2 * This,
- _In_opt_ const D3D12_INDEX_BUFFER_VIEW *pView);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, IASetVertexBuffers)
- void ( STDMETHODCALLTYPE *IASetVertexBuffers )(
- ID3D12GraphicsCommandList2 * This,
- _In_ UINT StartSlot,
- _In_ UINT NumViews,
- _In_reads_opt_(NumViews) const D3D12_VERTEX_BUFFER_VIEW *pViews);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SOSetTargets)
- void ( STDMETHODCALLTYPE *SOSetTargets )(
- ID3D12GraphicsCommandList2 * This,
- _In_ UINT StartSlot,
- _In_ UINT NumViews,
- _In_reads_opt_(NumViews) const D3D12_STREAM_OUTPUT_BUFFER_VIEW *pViews);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, OMSetRenderTargets)
- void ( STDMETHODCALLTYPE *OMSetRenderTargets )(
- ID3D12GraphicsCommandList2 * This,
- _In_ UINT NumRenderTargetDescriptors,
- _In_opt_ const D3D12_CPU_DESCRIPTOR_HANDLE *pRenderTargetDescriptors,
- _In_ BOOL RTsSingleHandleToDescriptorRange,
- _In_opt_ const D3D12_CPU_DESCRIPTOR_HANDLE *pDepthStencilDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearDepthStencilView)
- void ( STDMETHODCALLTYPE *ClearDepthStencilView )(
- ID3D12GraphicsCommandList2 * This,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DepthStencilView,
- _In_ D3D12_CLEAR_FLAGS ClearFlags,
- _In_ FLOAT Depth,
- _In_ UINT8 Stencil,
- _In_ UINT NumRects,
- _In_reads_(NumRects) const D3D12_RECT *pRects);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearRenderTargetView)
- void ( STDMETHODCALLTYPE *ClearRenderTargetView )(
- ID3D12GraphicsCommandList2 * This,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE RenderTargetView,
- _In_ const FLOAT ColorRGBA[ 4 ],
- _In_ UINT NumRects,
- _In_reads_(NumRects) const D3D12_RECT *pRects);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearUnorderedAccessViewUint)
- void ( STDMETHODCALLTYPE *ClearUnorderedAccessViewUint )(
- ID3D12GraphicsCommandList2 * This,
- _In_ D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle,
- _In_ ID3D12Resource *pResource,
- _In_ const UINT Values[ 4 ],
- _In_ UINT NumRects,
- _In_reads_(NumRects) const D3D12_RECT *pRects);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearUnorderedAccessViewFloat)
- void ( STDMETHODCALLTYPE *ClearUnorderedAccessViewFloat )(
- ID3D12GraphicsCommandList2 * This,
- _In_ D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle,
- _In_ ID3D12Resource *pResource,
- _In_ const FLOAT Values[ 4 ],
- _In_ UINT NumRects,
- _In_reads_(NumRects) const D3D12_RECT *pRects);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, DiscardResource)
- void ( STDMETHODCALLTYPE *DiscardResource )(
- ID3D12GraphicsCommandList2 * This,
- _In_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_DISCARD_REGION *pRegion);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, BeginQuery)
- void ( STDMETHODCALLTYPE *BeginQuery )(
- ID3D12GraphicsCommandList2 * This,
- _In_ ID3D12QueryHeap *pQueryHeap,
- _In_ D3D12_QUERY_TYPE Type,
- _In_ UINT Index);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, EndQuery)
- void ( STDMETHODCALLTYPE *EndQuery )(
- ID3D12GraphicsCommandList2 * This,
- _In_ ID3D12QueryHeap *pQueryHeap,
- _In_ D3D12_QUERY_TYPE Type,
- _In_ UINT Index);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ResolveQueryData)
- void ( STDMETHODCALLTYPE *ResolveQueryData )(
- ID3D12GraphicsCommandList2 * This,
- _In_ ID3D12QueryHeap *pQueryHeap,
- _In_ D3D12_QUERY_TYPE Type,
- _In_ UINT StartIndex,
- _In_ UINT NumQueries,
- _In_ ID3D12Resource *pDestinationBuffer,
- _In_ UINT64 AlignedDestinationBufferOffset);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetPredication)
- void ( STDMETHODCALLTYPE *SetPredication )(
- ID3D12GraphicsCommandList2 * This,
- _In_opt_ ID3D12Resource *pBuffer,
- _In_ UINT64 AlignedBufferOffset,
- _In_ D3D12_PREDICATION_OP Operation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetMarker)
- void ( STDMETHODCALLTYPE *SetMarker )(
- ID3D12GraphicsCommandList2 * This,
- UINT Metadata,
- _In_reads_bytes_opt_(Size) const void *pData,
- UINT Size);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, BeginEvent)
- void ( STDMETHODCALLTYPE *BeginEvent )(
- ID3D12GraphicsCommandList2 * This,
- UINT Metadata,
- _In_reads_bytes_opt_(Size) const void *pData,
- UINT Size);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, EndEvent)
- void ( STDMETHODCALLTYPE *EndEvent )(
- ID3D12GraphicsCommandList2 * This);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ExecuteIndirect)
- void ( STDMETHODCALLTYPE *ExecuteIndirect )(
- ID3D12GraphicsCommandList2 * This,
- _In_ ID3D12CommandSignature *pCommandSignature,
- _In_ UINT MaxCommandCount,
- _In_ ID3D12Resource *pArgumentBuffer,
- _In_ UINT64 ArgumentBufferOffset,
- _In_opt_ ID3D12Resource *pCountBuffer,
- _In_ UINT64 CountBufferOffset);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, AtomicCopyBufferUINT)
- void ( STDMETHODCALLTYPE *AtomicCopyBufferUINT )(
- ID3D12GraphicsCommandList2 * This,
- _In_ ID3D12Resource *pDstBuffer,
- UINT64 DstOffset,
- _In_ ID3D12Resource *pSrcBuffer,
- UINT64 SrcOffset,
- UINT Dependencies,
- _In_reads_(Dependencies) ID3D12Resource *const *ppDependentResources,
- _In_reads_(Dependencies) const D3D12_SUBRESOURCE_RANGE_UINT64 *pDependentSubresourceRanges);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, AtomicCopyBufferUINT64)
- void ( STDMETHODCALLTYPE *AtomicCopyBufferUINT64 )(
- ID3D12GraphicsCommandList2 * This,
- _In_ ID3D12Resource *pDstBuffer,
- UINT64 DstOffset,
- _In_ ID3D12Resource *pSrcBuffer,
- UINT64 SrcOffset,
- UINT Dependencies,
- _In_reads_(Dependencies) ID3D12Resource *const *ppDependentResources,
- _In_reads_(Dependencies) const D3D12_SUBRESOURCE_RANGE_UINT64 *pDependentSubresourceRanges);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, OMSetDepthBounds)
- void ( STDMETHODCALLTYPE *OMSetDepthBounds )(
- ID3D12GraphicsCommandList2 * This,
- _In_ FLOAT Min,
- _In_ FLOAT Max);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, SetSamplePositions)
- void ( STDMETHODCALLTYPE *SetSamplePositions )(
- ID3D12GraphicsCommandList2 * This,
- _In_ UINT NumSamplesPerPixel,
- _In_ UINT NumPixels,
- _In_reads_(NumSamplesPerPixel*NumPixels) D3D12_SAMPLE_POSITION *pSamplePositions);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, ResolveSubresourceRegion)
- void ( STDMETHODCALLTYPE *ResolveSubresourceRegion )(
- ID3D12GraphicsCommandList2 * This,
- _In_ ID3D12Resource *pDstResource,
- _In_ UINT DstSubresource,
- _In_ UINT DstX,
- _In_ UINT DstY,
- _In_ ID3D12Resource *pSrcResource,
- _In_ UINT SrcSubresource,
- _In_opt_ D3D12_RECT *pSrcRect,
- _In_ DXGI_FORMAT Format,
- _In_ D3D12_RESOLVE_MODE ResolveMode);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, SetViewInstanceMask)
- void ( STDMETHODCALLTYPE *SetViewInstanceMask )(
- ID3D12GraphicsCommandList2 * This,
- _In_ UINT Mask);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList2, WriteBufferImmediate)
- void ( STDMETHODCALLTYPE *WriteBufferImmediate )(
- ID3D12GraphicsCommandList2 * This,
- UINT Count,
- _In_reads_(Count) const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *pParams,
- _In_reads_opt_(Count) const D3D12_WRITEBUFFERIMMEDIATE_MODE *pModes);
-
- END_INTERFACE
- } ID3D12GraphicsCommandList2Vtbl;
- interface ID3D12GraphicsCommandList2
- {
- CONST_VTBL struct ID3D12GraphicsCommandList2Vtbl *lpVtbl;
- };
-
- #ifdef COBJMACROS
- #define ID3D12GraphicsCommandList2_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define ID3D12GraphicsCommandList2_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define ID3D12GraphicsCommandList2_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #define ID3D12GraphicsCommandList2_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
- #define ID3D12GraphicsCommandList2_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
- #define ID3D12GraphicsCommandList2_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
- #define ID3D12GraphicsCommandList2_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
- #define ID3D12GraphicsCommandList2_GetDevice(This,riid,ppvDevice) \
- ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
- #define ID3D12GraphicsCommandList2_GetType(This) \
- ( (This)->lpVtbl -> GetType(This) )
- #define ID3D12GraphicsCommandList2_Close(This) \
- ( (This)->lpVtbl -> Close(This) )
- #define ID3D12GraphicsCommandList2_Reset(This,pAllocator,pInitialState) \
- ( (This)->lpVtbl -> Reset(This,pAllocator,pInitialState) )
- #define ID3D12GraphicsCommandList2_ClearState(This,pPipelineState) \
- ( (This)->lpVtbl -> ClearState(This,pPipelineState) )
- #define ID3D12GraphicsCommandList2_DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) \
- ( (This)->lpVtbl -> DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) )
- #define ID3D12GraphicsCommandList2_DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) \
- ( (This)->lpVtbl -> DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) )
- #define ID3D12GraphicsCommandList2_Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) \
- ( (This)->lpVtbl -> Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) )
- #define ID3D12GraphicsCommandList2_CopyBufferRegion(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) \
- ( (This)->lpVtbl -> CopyBufferRegion(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) )
- #define ID3D12GraphicsCommandList2_CopyTextureRegion(This,pDst,DstX,DstY,DstZ,pSrc,pSrcBox) \
- ( (This)->lpVtbl -> CopyTextureRegion(This,pDst,DstX,DstY,DstZ,pSrc,pSrcBox) )
- #define ID3D12GraphicsCommandList2_CopyResource(This,pDstResource,pSrcResource) \
- ( (This)->lpVtbl -> CopyResource(This,pDstResource,pSrcResource) )
- #define ID3D12GraphicsCommandList2_CopyTiles(This,pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) \
- ( (This)->lpVtbl -> CopyTiles(This,pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) )
- #define ID3D12GraphicsCommandList2_ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) \
- ( (This)->lpVtbl -> ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) )
- #define ID3D12GraphicsCommandList2_IASetPrimitiveTopology(This,PrimitiveTopology) \
- ( (This)->lpVtbl -> IASetPrimitiveTopology(This,PrimitiveTopology) )
- #define ID3D12GraphicsCommandList2_RSSetViewports(This,NumViewports,pViewports) \
- ( (This)->lpVtbl -> RSSetViewports(This,NumViewports,pViewports) )
- #define ID3D12GraphicsCommandList2_RSSetScissorRects(This,NumRects,pRects) \
- ( (This)->lpVtbl -> RSSetScissorRects(This,NumRects,pRects) )
- #define ID3D12GraphicsCommandList2_OMSetBlendFactor(This,BlendFactor) \
- ( (This)->lpVtbl -> OMSetBlendFactor(This,BlendFactor) )
- #define ID3D12GraphicsCommandList2_OMSetStencilRef(This,StencilRef) \
- ( (This)->lpVtbl -> OMSetStencilRef(This,StencilRef) )
- #define ID3D12GraphicsCommandList2_SetPipelineState(This,pPipelineState) \
- ( (This)->lpVtbl -> SetPipelineState(This,pPipelineState) )
- #define ID3D12GraphicsCommandList2_ResourceBarrier(This,NumBarriers,pBarriers) \
- ( (This)->lpVtbl -> ResourceBarrier(This,NumBarriers,pBarriers) )
- #define ID3D12GraphicsCommandList2_ExecuteBundle(This,pCommandList) \
- ( (This)->lpVtbl -> ExecuteBundle(This,pCommandList) )
- #define ID3D12GraphicsCommandList2_SetDescriptorHeaps(This,NumDescriptorHeaps,ppDescriptorHeaps) \
- ( (This)->lpVtbl -> SetDescriptorHeaps(This,NumDescriptorHeaps,ppDescriptorHeaps) )
- #define ID3D12GraphicsCommandList2_SetComputeRootSignature(This,pRootSignature) \
- ( (This)->lpVtbl -> SetComputeRootSignature(This,pRootSignature) )
- #define ID3D12GraphicsCommandList2_SetGraphicsRootSignature(This,pRootSignature) \
- ( (This)->lpVtbl -> SetGraphicsRootSignature(This,pRootSignature) )
- #define ID3D12GraphicsCommandList2_SetComputeRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) \
- ( (This)->lpVtbl -> SetComputeRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) )
- #define ID3D12GraphicsCommandList2_SetGraphicsRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) \
- ( (This)->lpVtbl -> SetGraphicsRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) )
- #define ID3D12GraphicsCommandList2_SetComputeRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) \
- ( (This)->lpVtbl -> SetComputeRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) )
- #define ID3D12GraphicsCommandList2_SetGraphicsRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) \
- ( (This)->lpVtbl -> SetGraphicsRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) )
- #define ID3D12GraphicsCommandList2_SetComputeRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) \
- ( (This)->lpVtbl -> SetComputeRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) )
- #define ID3D12GraphicsCommandList2_SetGraphicsRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) \
- ( (This)->lpVtbl -> SetGraphicsRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) )
- #define ID3D12GraphicsCommandList2_SetComputeRootConstantBufferView(This,RootParameterIndex,BufferLocation) \
- ( (This)->lpVtbl -> SetComputeRootConstantBufferView(This,RootParameterIndex,BufferLocation) )
- #define ID3D12GraphicsCommandList2_SetGraphicsRootConstantBufferView(This,RootParameterIndex,BufferLocation) \
- ( (This)->lpVtbl -> SetGraphicsRootConstantBufferView(This,RootParameterIndex,BufferLocation) )
- #define ID3D12GraphicsCommandList2_SetComputeRootShaderResourceView(This,RootParameterIndex,BufferLocation) \
- ( (This)->lpVtbl -> SetComputeRootShaderResourceView(This,RootParameterIndex,BufferLocation) )
- #define ID3D12GraphicsCommandList2_SetGraphicsRootShaderResourceView(This,RootParameterIndex,BufferLocation) \
- ( (This)->lpVtbl -> SetGraphicsRootShaderResourceView(This,RootParameterIndex,BufferLocation) )
- #define ID3D12GraphicsCommandList2_SetComputeRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) \
- ( (This)->lpVtbl -> SetComputeRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) )
- #define ID3D12GraphicsCommandList2_SetGraphicsRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) \
- ( (This)->lpVtbl -> SetGraphicsRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) )
- #define ID3D12GraphicsCommandList2_IASetIndexBuffer(This,pView) \
- ( (This)->lpVtbl -> IASetIndexBuffer(This,pView) )
- #define ID3D12GraphicsCommandList2_IASetVertexBuffers(This,StartSlot,NumViews,pViews) \
- ( (This)->lpVtbl -> IASetVertexBuffers(This,StartSlot,NumViews,pViews) )
- #define ID3D12GraphicsCommandList2_SOSetTargets(This,StartSlot,NumViews,pViews) \
- ( (This)->lpVtbl -> SOSetTargets(This,StartSlot,NumViews,pViews) )
- #define ID3D12GraphicsCommandList2_OMSetRenderTargets(This,NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) \
- ( (This)->lpVtbl -> OMSetRenderTargets(This,NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) )
- #define ID3D12GraphicsCommandList2_ClearDepthStencilView(This,DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) \
- ( (This)->lpVtbl -> ClearDepthStencilView(This,DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) )
- #define ID3D12GraphicsCommandList2_ClearRenderTargetView(This,RenderTargetView,ColorRGBA,NumRects,pRects) \
- ( (This)->lpVtbl -> ClearRenderTargetView(This,RenderTargetView,ColorRGBA,NumRects,pRects) )
- #define ID3D12GraphicsCommandList2_ClearUnorderedAccessViewUint(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) \
- ( (This)->lpVtbl -> ClearUnorderedAccessViewUint(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) )
- #define ID3D12GraphicsCommandList2_ClearUnorderedAccessViewFloat(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) \
- ( (This)->lpVtbl -> ClearUnorderedAccessViewFloat(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) )
- #define ID3D12GraphicsCommandList2_DiscardResource(This,pResource,pRegion) \
- ( (This)->lpVtbl -> DiscardResource(This,pResource,pRegion) )
- #define ID3D12GraphicsCommandList2_BeginQuery(This,pQueryHeap,Type,Index) \
- ( (This)->lpVtbl -> BeginQuery(This,pQueryHeap,Type,Index) )
- #define ID3D12GraphicsCommandList2_EndQuery(This,pQueryHeap,Type,Index) \
- ( (This)->lpVtbl -> EndQuery(This,pQueryHeap,Type,Index) )
- #define ID3D12GraphicsCommandList2_ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) \
- ( (This)->lpVtbl -> ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) )
- #define ID3D12GraphicsCommandList2_SetPredication(This,pBuffer,AlignedBufferOffset,Operation) \
- ( (This)->lpVtbl -> SetPredication(This,pBuffer,AlignedBufferOffset,Operation) )
- #define ID3D12GraphicsCommandList2_SetMarker(This,Metadata,pData,Size) \
- ( (This)->lpVtbl -> SetMarker(This,Metadata,pData,Size) )
- #define ID3D12GraphicsCommandList2_BeginEvent(This,Metadata,pData,Size) \
- ( (This)->lpVtbl -> BeginEvent(This,Metadata,pData,Size) )
- #define ID3D12GraphicsCommandList2_EndEvent(This) \
- ( (This)->lpVtbl -> EndEvent(This) )
- #define ID3D12GraphicsCommandList2_ExecuteIndirect(This,pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) \
- ( (This)->lpVtbl -> ExecuteIndirect(This,pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) )
- #define ID3D12GraphicsCommandList2_AtomicCopyBufferUINT(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) \
- ( (This)->lpVtbl -> AtomicCopyBufferUINT(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) )
- #define ID3D12GraphicsCommandList2_AtomicCopyBufferUINT64(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) \
- ( (This)->lpVtbl -> AtomicCopyBufferUINT64(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) )
- #define ID3D12GraphicsCommandList2_OMSetDepthBounds(This,Min,Max) \
- ( (This)->lpVtbl -> OMSetDepthBounds(This,Min,Max) )
- #define ID3D12GraphicsCommandList2_SetSamplePositions(This,NumSamplesPerPixel,NumPixels,pSamplePositions) \
- ( (This)->lpVtbl -> SetSamplePositions(This,NumSamplesPerPixel,NumPixels,pSamplePositions) )
- #define ID3D12GraphicsCommandList2_ResolveSubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode) \
- ( (This)->lpVtbl -> ResolveSubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode) )
- #define ID3D12GraphicsCommandList2_SetViewInstanceMask(This,Mask) \
- ( (This)->lpVtbl -> SetViewInstanceMask(This,Mask) )
- #define ID3D12GraphicsCommandList2_WriteBufferImmediate(This,Count,pParams,pModes) \
- ( (This)->lpVtbl -> WriteBufferImmediate(This,Count,pParams,pModes) )
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __ID3D12GraphicsCommandList2_INTERFACE_DEFINED__ */
- #ifndef __ID3D12CommandQueue_INTERFACE_DEFINED__
- #define __ID3D12CommandQueue_INTERFACE_DEFINED__
- /* interface ID3D12CommandQueue */
- /* [unique][local][object][uuid] */
- EXTERN_C const IID IID_ID3D12CommandQueue;
- #if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("0ec870a6-5d7e-4c22-8cfc-5baae07616ed")
- ID3D12CommandQueue : public ID3D12Pageable
- {
- public:
- virtual void STDMETHODCALLTYPE UpdateTileMappings(
- _In_ ID3D12Resource *pResource,
- UINT NumResourceRegions,
- _In_reads_opt_(NumResourceRegions) const D3D12_TILED_RESOURCE_COORDINATE *pResourceRegionStartCoordinates,
- _In_reads_opt_(NumResourceRegions) const D3D12_TILE_REGION_SIZE *pResourceRegionSizes,
- _In_opt_ ID3D12Heap *pHeap,
- UINT NumRanges,
- _In_reads_opt_(NumRanges) const D3D12_TILE_RANGE_FLAGS *pRangeFlags,
- _In_reads_opt_(NumRanges) const UINT *pHeapRangeStartOffsets,
- _In_reads_opt_(NumRanges) const UINT *pRangeTileCounts,
- D3D12_TILE_MAPPING_FLAGS Flags) = 0;
-
- virtual void STDMETHODCALLTYPE CopyTileMappings(
- _In_ ID3D12Resource *pDstResource,
- _In_ const D3D12_TILED_RESOURCE_COORDINATE *pDstRegionStartCoordinate,
- _In_ ID3D12Resource *pSrcResource,
- _In_ const D3D12_TILED_RESOURCE_COORDINATE *pSrcRegionStartCoordinate,
- _In_ const D3D12_TILE_REGION_SIZE *pRegionSize,
- D3D12_TILE_MAPPING_FLAGS Flags) = 0;
-
- virtual void STDMETHODCALLTYPE ExecuteCommandLists(
- _In_ UINT NumCommandLists,
- _In_reads_(NumCommandLists) ID3D12CommandList *const *ppCommandLists) = 0;
-
- virtual void STDMETHODCALLTYPE SetMarker(
- UINT Metadata,
- _In_reads_bytes_opt_(Size) const void *pData,
- UINT Size) = 0;
-
- virtual void STDMETHODCALLTYPE BeginEvent(
- UINT Metadata,
- _In_reads_bytes_opt_(Size) const void *pData,
- UINT Size) = 0;
-
- virtual void STDMETHODCALLTYPE EndEvent( void) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE Signal(
- ID3D12Fence *pFence,
- UINT64 Value) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE Wait(
- ID3D12Fence *pFence,
- UINT64 Value) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetTimestampFrequency(
- _Out_ UINT64 *pFrequency) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetClockCalibration(
- _Out_ UINT64 *pGpuTimestamp,
- _Out_ UINT64 *pCpuTimestamp) = 0;
-
- #if defined(_MSC_VER) || !defined(_WIN32)
- virtual D3D12_COMMAND_QUEUE_DESC STDMETHODCALLTYPE GetDesc( void) = 0;
- #else
- virtual D3D12_COMMAND_QUEUE_DESC *STDMETHODCALLTYPE GetDesc(
- D3D12_COMMAND_QUEUE_DESC * RetVal) = 0;
- #endif
-
- };
-
-
- #else /* C style interface */
- typedef struct ID3D12CommandQueueVtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12CommandQueue * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12CommandQueue * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12CommandQueue * This);
-
- DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12CommandQueue * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12CommandQueue * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12CommandQueue * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetName)
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12CommandQueue * This,
- _In_z_ LPCWSTR Name);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice)
- HRESULT ( STDMETHODCALLTYPE *GetDevice )(
- ID3D12CommandQueue * This,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvDevice);
-
- DECLSPEC_XFGVIRT(ID3D12CommandQueue, UpdateTileMappings)
- void ( STDMETHODCALLTYPE *UpdateTileMappings )(
- ID3D12CommandQueue * This,
- _In_ ID3D12Resource *pResource,
- UINT NumResourceRegions,
- _In_reads_opt_(NumResourceRegions) const D3D12_TILED_RESOURCE_COORDINATE *pResourceRegionStartCoordinates,
- _In_reads_opt_(NumResourceRegions) const D3D12_TILE_REGION_SIZE *pResourceRegionSizes,
- _In_opt_ ID3D12Heap *pHeap,
- UINT NumRanges,
- _In_reads_opt_(NumRanges) const D3D12_TILE_RANGE_FLAGS *pRangeFlags,
- _In_reads_opt_(NumRanges) const UINT *pHeapRangeStartOffsets,
- _In_reads_opt_(NumRanges) const UINT *pRangeTileCounts,
- D3D12_TILE_MAPPING_FLAGS Flags);
-
- DECLSPEC_XFGVIRT(ID3D12CommandQueue, CopyTileMappings)
- void ( STDMETHODCALLTYPE *CopyTileMappings )(
- ID3D12CommandQueue * This,
- _In_ ID3D12Resource *pDstResource,
- _In_ const D3D12_TILED_RESOURCE_COORDINATE *pDstRegionStartCoordinate,
- _In_ ID3D12Resource *pSrcResource,
- _In_ const D3D12_TILED_RESOURCE_COORDINATE *pSrcRegionStartCoordinate,
- _In_ const D3D12_TILE_REGION_SIZE *pRegionSize,
- D3D12_TILE_MAPPING_FLAGS Flags);
-
- DECLSPEC_XFGVIRT(ID3D12CommandQueue, ExecuteCommandLists)
- void ( STDMETHODCALLTYPE *ExecuteCommandLists )(
- ID3D12CommandQueue * This,
- _In_ UINT NumCommandLists,
- _In_reads_(NumCommandLists) ID3D12CommandList *const *ppCommandLists);
-
- DECLSPEC_XFGVIRT(ID3D12CommandQueue, SetMarker)
- void ( STDMETHODCALLTYPE *SetMarker )(
- ID3D12CommandQueue * This,
- UINT Metadata,
- _In_reads_bytes_opt_(Size) const void *pData,
- UINT Size);
-
- DECLSPEC_XFGVIRT(ID3D12CommandQueue, BeginEvent)
- void ( STDMETHODCALLTYPE *BeginEvent )(
- ID3D12CommandQueue * This,
- UINT Metadata,
- _In_reads_bytes_opt_(Size) const void *pData,
- UINT Size);
-
- DECLSPEC_XFGVIRT(ID3D12CommandQueue, EndEvent)
- void ( STDMETHODCALLTYPE *EndEvent )(
- ID3D12CommandQueue * This);
-
- DECLSPEC_XFGVIRT(ID3D12CommandQueue, Signal)
- HRESULT ( STDMETHODCALLTYPE *Signal )(
- ID3D12CommandQueue * This,
- ID3D12Fence *pFence,
- UINT64 Value);
-
- DECLSPEC_XFGVIRT(ID3D12CommandQueue, Wait)
- HRESULT ( STDMETHODCALLTYPE *Wait )(
- ID3D12CommandQueue * This,
- ID3D12Fence *pFence,
- UINT64 Value);
-
- DECLSPEC_XFGVIRT(ID3D12CommandQueue, GetTimestampFrequency)
- HRESULT ( STDMETHODCALLTYPE *GetTimestampFrequency )(
- ID3D12CommandQueue * This,
- _Out_ UINT64 *pFrequency);
-
- DECLSPEC_XFGVIRT(ID3D12CommandQueue, GetClockCalibration)
- HRESULT ( STDMETHODCALLTYPE *GetClockCalibration )(
- ID3D12CommandQueue * This,
- _Out_ UINT64 *pGpuTimestamp,
- _Out_ UINT64 *pCpuTimestamp);
-
- DECLSPEC_XFGVIRT(ID3D12CommandQueue, GetDesc)
- #if !defined(_WIN32)
- D3D12_COMMAND_QUEUE_DESC ( STDMETHODCALLTYPE *GetDesc )(
- ID3D12CommandQueue * This);
-
- #else
- D3D12_COMMAND_QUEUE_DESC *( STDMETHODCALLTYPE *GetDesc )(
- ID3D12CommandQueue * This,
- D3D12_COMMAND_QUEUE_DESC * RetVal);
-
- #endif
-
- END_INTERFACE
- } ID3D12CommandQueueVtbl;
- interface ID3D12CommandQueue
- {
- CONST_VTBL struct ID3D12CommandQueueVtbl *lpVtbl;
- };
-
- #ifdef COBJMACROS
- #define ID3D12CommandQueue_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define ID3D12CommandQueue_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define ID3D12CommandQueue_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #define ID3D12CommandQueue_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
- #define ID3D12CommandQueue_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
- #define ID3D12CommandQueue_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
- #define ID3D12CommandQueue_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
- #define ID3D12CommandQueue_GetDevice(This,riid,ppvDevice) \
- ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
- #define ID3D12CommandQueue_UpdateTileMappings(This,pResource,NumResourceRegions,pResourceRegionStartCoordinates,pResourceRegionSizes,pHeap,NumRanges,pRangeFlags,pHeapRangeStartOffsets,pRangeTileCounts,Flags) \
- ( (This)->lpVtbl -> UpdateTileMappings(This,pResource,NumResourceRegions,pResourceRegionStartCoordinates,pResourceRegionSizes,pHeap,NumRanges,pRangeFlags,pHeapRangeStartOffsets,pRangeTileCounts,Flags) )
- #define ID3D12CommandQueue_CopyTileMappings(This,pDstResource,pDstRegionStartCoordinate,pSrcResource,pSrcRegionStartCoordinate,pRegionSize,Flags) \
- ( (This)->lpVtbl -> CopyTileMappings(This,pDstResource,pDstRegionStartCoordinate,pSrcResource,pSrcRegionStartCoordinate,pRegionSize,Flags) )
- #define ID3D12CommandQueue_ExecuteCommandLists(This,NumCommandLists,ppCommandLists) \
- ( (This)->lpVtbl -> ExecuteCommandLists(This,NumCommandLists,ppCommandLists) )
- #define ID3D12CommandQueue_SetMarker(This,Metadata,pData,Size) \
- ( (This)->lpVtbl -> SetMarker(This,Metadata,pData,Size) )
- #define ID3D12CommandQueue_BeginEvent(This,Metadata,pData,Size) \
- ( (This)->lpVtbl -> BeginEvent(This,Metadata,pData,Size) )
- #define ID3D12CommandQueue_EndEvent(This) \
- ( (This)->lpVtbl -> EndEvent(This) )
- #define ID3D12CommandQueue_Signal(This,pFence,Value) \
- ( (This)->lpVtbl -> Signal(This,pFence,Value) )
- #define ID3D12CommandQueue_Wait(This,pFence,Value) \
- ( (This)->lpVtbl -> Wait(This,pFence,Value) )
- #define ID3D12CommandQueue_GetTimestampFrequency(This,pFrequency) \
- ( (This)->lpVtbl -> GetTimestampFrequency(This,pFrequency) )
- #define ID3D12CommandQueue_GetClockCalibration(This,pGpuTimestamp,pCpuTimestamp) \
- ( (This)->lpVtbl -> GetClockCalibration(This,pGpuTimestamp,pCpuTimestamp) )
- #if !defined(_WIN32)
- #define ID3D12CommandQueue_GetDesc(This) \
- ( (This)->lpVtbl -> GetDesc(This) )
- #else
- #define ID3D12CommandQueue_GetDesc(This,RetVal) \
- ( (This)->lpVtbl -> GetDesc(This,RetVal) )
- #endif
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __ID3D12CommandQueue_INTERFACE_DEFINED__ */
- /* interface __MIDL_itf_d3d12_0000_0020 */
- /* [local] */
- #ifdef __midl
- #ifndef LUID_DEFINED
- #define LUID_DEFINED 1
- typedef struct __LUID
- {
- DWORD LowPart;
- LONG HighPart;
- } LUID;
- typedef struct __LUID *PLUID;
- #endif
- #endif
- extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0020_v0_0_c_ifspec;
- extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0020_v0_0_s_ifspec;
- #ifndef __ID3D12Device_INTERFACE_DEFINED__
- #define __ID3D12Device_INTERFACE_DEFINED__
- /* interface ID3D12Device */
- /* [unique][local][object][uuid] */
- EXTERN_C const IID IID_ID3D12Device;
- #if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("189819f1-1db6-4b57-be54-1821339b85f7")
- ID3D12Device : public ID3D12Object
- {
- public:
- virtual UINT STDMETHODCALLTYPE GetNodeCount( void) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE CreateCommandQueue(
- _In_ const D3D12_COMMAND_QUEUE_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppCommandQueue) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE CreateCommandAllocator(
- _In_ D3D12_COMMAND_LIST_TYPE type,
- REFIID riid,
- _COM_Outptr_ void **ppCommandAllocator) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE CreateGraphicsPipelineState(
- _In_ const D3D12_GRAPHICS_PIPELINE_STATE_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineState) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE CreateComputePipelineState(
- _In_ const D3D12_COMPUTE_PIPELINE_STATE_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineState) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE CreateCommandList(
- _In_ UINT nodeMask,
- _In_ D3D12_COMMAND_LIST_TYPE type,
- _In_ ID3D12CommandAllocator *pCommandAllocator,
- _In_opt_ ID3D12PipelineState *pInitialState,
- REFIID riid,
- _COM_Outptr_ void **ppCommandList) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE CheckFeatureSupport(
- D3D12_FEATURE Feature,
- _Inout_updates_bytes_(FeatureSupportDataSize) void *pFeatureSupportData,
- UINT FeatureSupportDataSize) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE CreateDescriptorHeap(
- _In_ const D3D12_DESCRIPTOR_HEAP_DESC *pDescriptorHeapDesc,
- REFIID riid,
- _COM_Outptr_ void **ppvHeap) = 0;
-
- virtual UINT STDMETHODCALLTYPE GetDescriptorHandleIncrementSize(
- _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapType) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE CreateRootSignature(
- _In_ UINT nodeMask,
- _In_reads_(blobLengthInBytes) const void *pBlobWithRootSignature,
- _In_ SIZE_T blobLengthInBytes,
- REFIID riid,
- _COM_Outptr_ void **ppvRootSignature) = 0;
-
- virtual void STDMETHODCALLTYPE CreateConstantBufferView(
- _In_opt_ const D3D12_CONSTANT_BUFFER_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor) = 0;
-
- virtual void STDMETHODCALLTYPE CreateShaderResourceView(
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_SHADER_RESOURCE_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor) = 0;
-
- virtual void STDMETHODCALLTYPE CreateUnorderedAccessView(
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ ID3D12Resource *pCounterResource,
- _In_opt_ const D3D12_UNORDERED_ACCESS_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor) = 0;
-
- virtual void STDMETHODCALLTYPE CreateRenderTargetView(
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_RENDER_TARGET_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor) = 0;
-
- virtual void STDMETHODCALLTYPE CreateDepthStencilView(
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_DEPTH_STENCIL_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor) = 0;
-
- virtual void STDMETHODCALLTYPE CreateSampler(
- _In_ const D3D12_SAMPLER_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor) = 0;
-
- virtual void STDMETHODCALLTYPE CopyDescriptors(
- _In_ UINT NumDestDescriptorRanges,
- _In_reads_(NumDestDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pDestDescriptorRangeStarts,
- _In_reads_opt_(NumDestDescriptorRanges) const UINT *pDestDescriptorRangeSizes,
- _In_ UINT NumSrcDescriptorRanges,
- _In_reads_(NumSrcDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pSrcDescriptorRangeStarts,
- _In_reads_opt_(NumSrcDescriptorRanges) const UINT *pSrcDescriptorRangeSizes,
- _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType) = 0;
-
- virtual void STDMETHODCALLTYPE CopyDescriptorsSimple(
- _In_ UINT NumDescriptors,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptorRangeStart,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE SrcDescriptorRangeStart,
- _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType) = 0;
-
- #if defined(_MSC_VER) || !defined(_WIN32)
- virtual D3D12_RESOURCE_ALLOCATION_INFO STDMETHODCALLTYPE GetResourceAllocationInfo(
- _In_ UINT visibleMask,
- _In_ UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs) = 0;
- #else
- virtual D3D12_RESOURCE_ALLOCATION_INFO *STDMETHODCALLTYPE GetResourceAllocationInfo(
- D3D12_RESOURCE_ALLOCATION_INFO * RetVal,
- _In_ UINT visibleMask,
- _In_ UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs) = 0;
- #endif
-
- #if defined(_MSC_VER) || !defined(_WIN32)
- virtual D3D12_HEAP_PROPERTIES STDMETHODCALLTYPE GetCustomHeapProperties(
- _In_ UINT nodeMask,
- D3D12_HEAP_TYPE heapType) = 0;
- #else
- virtual D3D12_HEAP_PROPERTIES *STDMETHODCALLTYPE GetCustomHeapProperties(
- D3D12_HEAP_PROPERTIES * RetVal,
- _In_ UINT nodeMask,
- D3D12_HEAP_TYPE heapType) = 0;
- #endif
-
- virtual HRESULT STDMETHODCALLTYPE CreateCommittedResource(
- _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties,
- D3D12_HEAP_FLAGS HeapFlags,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialResourceState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- REFIID riidResource,
- _COM_Outptr_opt_ void **ppvResource) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE CreateHeap(
- _In_ const D3D12_HEAP_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvHeap) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE CreatePlacedResource(
- _In_ ID3D12Heap *pHeap,
- UINT64 HeapOffset,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvResource) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE CreateReservedResource(
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvResource) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE CreateSharedHandle(
- _In_ ID3D12DeviceChild *pObject,
- _In_opt_ const SECURITY_ATTRIBUTES *pAttributes,
- DWORD Access,
- _In_opt_ LPCWSTR Name,
- _Out_ HANDLE *pHandle) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE OpenSharedHandle(
- _In_ HANDLE NTHandle,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvObj) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE OpenSharedHandleByName(
- _In_ LPCWSTR Name,
- DWORD Access,
- /* [annotation][out] */
- _Out_ HANDLE *pNTHandle) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE MakeResident(
- UINT NumObjects,
- _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE Evict(
- UINT NumObjects,
- _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE CreateFence(
- UINT64 InitialValue,
- D3D12_FENCE_FLAGS Flags,
- REFIID riid,
- _COM_Outptr_ void **ppFence) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetDeviceRemovedReason( void) = 0;
-
- virtual void STDMETHODCALLTYPE GetCopyableFootprints(
- _In_ const D3D12_RESOURCE_DESC *pResourceDesc,
- _In_range_(0,D3D12_REQ_SUBRESOURCES) UINT FirstSubresource,
- _In_range_(0,D3D12_REQ_SUBRESOURCES-FirstSubresource) UINT NumSubresources,
- UINT64 BaseOffset,
- _Out_writes_opt_(NumSubresources) D3D12_PLACED_SUBRESOURCE_FOOTPRINT *pLayouts,
- _Out_writes_opt_(NumSubresources) UINT *pNumRows,
- _Out_writes_opt_(NumSubresources) UINT64 *pRowSizeInBytes,
- _Out_opt_ UINT64 *pTotalBytes) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE CreateQueryHeap(
- _In_ const D3D12_QUERY_HEAP_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvHeap) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE SetStablePowerState(
- BOOL Enable) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE CreateCommandSignature(
- _In_ const D3D12_COMMAND_SIGNATURE_DESC *pDesc,
- _In_opt_ ID3D12RootSignature *pRootSignature,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvCommandSignature) = 0;
-
- virtual void STDMETHODCALLTYPE GetResourceTiling(
- _In_ ID3D12Resource *pTiledResource,
- _Out_opt_ UINT *pNumTilesForEntireResource,
- _Out_opt_ D3D12_PACKED_MIP_INFO *pPackedMipDesc,
- _Out_opt_ D3D12_TILE_SHAPE *pStandardTileShapeForNonPackedMips,
- _Inout_opt_ UINT *pNumSubresourceTilings,
- _In_ UINT FirstSubresourceTilingToGet,
- _Out_writes_(*pNumSubresourceTilings) D3D12_SUBRESOURCE_TILING *pSubresourceTilingsForNonPackedMips) = 0;
-
- #if defined(_MSC_VER) || !defined(_WIN32)
- virtual LUID STDMETHODCALLTYPE GetAdapterLuid( void) = 0;
- #else
- virtual LUID *STDMETHODCALLTYPE GetAdapterLuid(
- LUID * RetVal) = 0;
- #endif
-
- };
-
-
- #else /* C style interface */
- typedef struct ID3D12DeviceVtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12Device * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12Device * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12Device * This);
-
- DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12Device * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12Device * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12Device * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetName)
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12Device * This,
- _In_z_ LPCWSTR Name);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetNodeCount)
- UINT ( STDMETHODCALLTYPE *GetNodeCount )(
- ID3D12Device * This);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandQueue)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandQueue )(
- ID3D12Device * This,
- _In_ const D3D12_COMMAND_QUEUE_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppCommandQueue);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandAllocator)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandAllocator )(
- ID3D12Device * This,
- _In_ D3D12_COMMAND_LIST_TYPE type,
- REFIID riid,
- _COM_Outptr_ void **ppCommandAllocator);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateGraphicsPipelineState)
- HRESULT ( STDMETHODCALLTYPE *CreateGraphicsPipelineState )(
- ID3D12Device * This,
- _In_ const D3D12_GRAPHICS_PIPELINE_STATE_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineState);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateComputePipelineState)
- HRESULT ( STDMETHODCALLTYPE *CreateComputePipelineState )(
- ID3D12Device * This,
- _In_ const D3D12_COMPUTE_PIPELINE_STATE_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineState);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandList)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandList )(
- ID3D12Device * This,
- _In_ UINT nodeMask,
- _In_ D3D12_COMMAND_LIST_TYPE type,
- _In_ ID3D12CommandAllocator *pCommandAllocator,
- _In_opt_ ID3D12PipelineState *pInitialState,
- REFIID riid,
- _COM_Outptr_ void **ppCommandList);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CheckFeatureSupport)
- HRESULT ( STDMETHODCALLTYPE *CheckFeatureSupport )(
- ID3D12Device * This,
- D3D12_FEATURE Feature,
- _Inout_updates_bytes_(FeatureSupportDataSize) void *pFeatureSupportData,
- UINT FeatureSupportDataSize);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateDescriptorHeap)
- HRESULT ( STDMETHODCALLTYPE *CreateDescriptorHeap )(
- ID3D12Device * This,
- _In_ const D3D12_DESCRIPTOR_HEAP_DESC *pDescriptorHeapDesc,
- REFIID riid,
- _COM_Outptr_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetDescriptorHandleIncrementSize)
- UINT ( STDMETHODCALLTYPE *GetDescriptorHandleIncrementSize )(
- ID3D12Device * This,
- _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapType);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateRootSignature)
- HRESULT ( STDMETHODCALLTYPE *CreateRootSignature )(
- ID3D12Device * This,
- _In_ UINT nodeMask,
- _In_reads_(blobLengthInBytes) const void *pBlobWithRootSignature,
- _In_ SIZE_T blobLengthInBytes,
- REFIID riid,
- _COM_Outptr_ void **ppvRootSignature);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateConstantBufferView)
- void ( STDMETHODCALLTYPE *CreateConstantBufferView )(
- ID3D12Device * This,
- _In_opt_ const D3D12_CONSTANT_BUFFER_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateShaderResourceView)
- void ( STDMETHODCALLTYPE *CreateShaderResourceView )(
- ID3D12Device * This,
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_SHADER_RESOURCE_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateUnorderedAccessView)
- void ( STDMETHODCALLTYPE *CreateUnorderedAccessView )(
- ID3D12Device * This,
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ ID3D12Resource *pCounterResource,
- _In_opt_ const D3D12_UNORDERED_ACCESS_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateRenderTargetView)
- void ( STDMETHODCALLTYPE *CreateRenderTargetView )(
- ID3D12Device * This,
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_RENDER_TARGET_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateDepthStencilView)
- void ( STDMETHODCALLTYPE *CreateDepthStencilView )(
- ID3D12Device * This,
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_DEPTH_STENCIL_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateSampler)
- void ( STDMETHODCALLTYPE *CreateSampler )(
- ID3D12Device * This,
- _In_ const D3D12_SAMPLER_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CopyDescriptors)
- void ( STDMETHODCALLTYPE *CopyDescriptors )(
- ID3D12Device * This,
- _In_ UINT NumDestDescriptorRanges,
- _In_reads_(NumDestDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pDestDescriptorRangeStarts,
- _In_reads_opt_(NumDestDescriptorRanges) const UINT *pDestDescriptorRangeSizes,
- _In_ UINT NumSrcDescriptorRanges,
- _In_reads_(NumSrcDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pSrcDescriptorRangeStarts,
- _In_reads_opt_(NumSrcDescriptorRanges) const UINT *pSrcDescriptorRangeSizes,
- _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CopyDescriptorsSimple)
- void ( STDMETHODCALLTYPE *CopyDescriptorsSimple )(
- ID3D12Device * This,
- _In_ UINT NumDescriptors,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptorRangeStart,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE SrcDescriptorRangeStart,
- _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetResourceAllocationInfo)
- #if !defined(_WIN32)
- D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo )(
- ID3D12Device * This,
- _In_ UINT visibleMask,
- _In_ UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs);
-
- #else
- D3D12_RESOURCE_ALLOCATION_INFO *( STDMETHODCALLTYPE *GetResourceAllocationInfo )(
- ID3D12Device * This,
- D3D12_RESOURCE_ALLOCATION_INFO * RetVal,
- _In_ UINT visibleMask,
- _In_ UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs);
-
- #endif
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetCustomHeapProperties)
- #if !defined(_WIN32)
- D3D12_HEAP_PROPERTIES ( STDMETHODCALLTYPE *GetCustomHeapProperties )(
- ID3D12Device * This,
- _In_ UINT nodeMask,
- D3D12_HEAP_TYPE heapType);
-
- #else
- D3D12_HEAP_PROPERTIES *( STDMETHODCALLTYPE *GetCustomHeapProperties )(
- ID3D12Device * This,
- D3D12_HEAP_PROPERTIES * RetVal,
- _In_ UINT nodeMask,
- D3D12_HEAP_TYPE heapType);
-
- #endif
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommittedResource)
- HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource )(
- ID3D12Device * This,
- _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties,
- D3D12_HEAP_FLAGS HeapFlags,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialResourceState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- REFIID riidResource,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateHeap)
- HRESULT ( STDMETHODCALLTYPE *CreateHeap )(
- ID3D12Device * This,
- _In_ const D3D12_HEAP_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreatePlacedResource)
- HRESULT ( STDMETHODCALLTYPE *CreatePlacedResource )(
- ID3D12Device * This,
- _In_ ID3D12Heap *pHeap,
- UINT64 HeapOffset,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateReservedResource)
- HRESULT ( STDMETHODCALLTYPE *CreateReservedResource )(
- ID3D12Device * This,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateSharedHandle)
- HRESULT ( STDMETHODCALLTYPE *CreateSharedHandle )(
- ID3D12Device * This,
- _In_ ID3D12DeviceChild *pObject,
- _In_opt_ const SECURITY_ATTRIBUTES *pAttributes,
- DWORD Access,
- _In_opt_ LPCWSTR Name,
- _Out_ HANDLE *pHandle);
-
- DECLSPEC_XFGVIRT(ID3D12Device, OpenSharedHandle)
- HRESULT ( STDMETHODCALLTYPE *OpenSharedHandle )(
- ID3D12Device * This,
- _In_ HANDLE NTHandle,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvObj);
-
- DECLSPEC_XFGVIRT(ID3D12Device, OpenSharedHandleByName)
- HRESULT ( STDMETHODCALLTYPE *OpenSharedHandleByName )(
- ID3D12Device * This,
- _In_ LPCWSTR Name,
- DWORD Access,
- /* [annotation][out] */
- _Out_ HANDLE *pNTHandle);
-
- DECLSPEC_XFGVIRT(ID3D12Device, MakeResident)
- HRESULT ( STDMETHODCALLTYPE *MakeResident )(
- ID3D12Device * This,
- UINT NumObjects,
- _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects);
-
- DECLSPEC_XFGVIRT(ID3D12Device, Evict)
- HRESULT ( STDMETHODCALLTYPE *Evict )(
- ID3D12Device * This,
- UINT NumObjects,
- _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateFence)
- HRESULT ( STDMETHODCALLTYPE *CreateFence )(
- ID3D12Device * This,
- UINT64 InitialValue,
- D3D12_FENCE_FLAGS Flags,
- REFIID riid,
- _COM_Outptr_ void **ppFence);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetDeviceRemovedReason)
- HRESULT ( STDMETHODCALLTYPE *GetDeviceRemovedReason )(
- ID3D12Device * This);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetCopyableFootprints)
- void ( STDMETHODCALLTYPE *GetCopyableFootprints )(
- ID3D12Device * This,
- _In_ const D3D12_RESOURCE_DESC *pResourceDesc,
- _In_range_(0,D3D12_REQ_SUBRESOURCES) UINT FirstSubresource,
- _In_range_(0,D3D12_REQ_SUBRESOURCES-FirstSubresource) UINT NumSubresources,
- UINT64 BaseOffset,
- _Out_writes_opt_(NumSubresources) D3D12_PLACED_SUBRESOURCE_FOOTPRINT *pLayouts,
- _Out_writes_opt_(NumSubresources) UINT *pNumRows,
- _Out_writes_opt_(NumSubresources) UINT64 *pRowSizeInBytes,
- _Out_opt_ UINT64 *pTotalBytes);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateQueryHeap)
- HRESULT ( STDMETHODCALLTYPE *CreateQueryHeap )(
- ID3D12Device * This,
- _In_ const D3D12_QUERY_HEAP_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device, SetStablePowerState)
- HRESULT ( STDMETHODCALLTYPE *SetStablePowerState )(
- ID3D12Device * This,
- BOOL Enable);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandSignature)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandSignature )(
- ID3D12Device * This,
- _In_ const D3D12_COMMAND_SIGNATURE_DESC *pDesc,
- _In_opt_ ID3D12RootSignature *pRootSignature,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvCommandSignature);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetResourceTiling)
- void ( STDMETHODCALLTYPE *GetResourceTiling )(
- ID3D12Device * This,
- _In_ ID3D12Resource *pTiledResource,
- _Out_opt_ UINT *pNumTilesForEntireResource,
- _Out_opt_ D3D12_PACKED_MIP_INFO *pPackedMipDesc,
- _Out_opt_ D3D12_TILE_SHAPE *pStandardTileShapeForNonPackedMips,
- _Inout_opt_ UINT *pNumSubresourceTilings,
- _In_ UINT FirstSubresourceTilingToGet,
- _Out_writes_(*pNumSubresourceTilings) D3D12_SUBRESOURCE_TILING *pSubresourceTilingsForNonPackedMips);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetAdapterLuid)
- #if !defined(_WIN32)
- LUID ( STDMETHODCALLTYPE *GetAdapterLuid )(
- ID3D12Device * This);
-
- #else
- LUID *( STDMETHODCALLTYPE *GetAdapterLuid )(
- ID3D12Device * This,
- LUID * RetVal);
-
- #endif
-
- END_INTERFACE
- } ID3D12DeviceVtbl;
- interface ID3D12Device
- {
- CONST_VTBL struct ID3D12DeviceVtbl *lpVtbl;
- };
-
- #ifdef COBJMACROS
- #define ID3D12Device_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define ID3D12Device_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define ID3D12Device_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #define ID3D12Device_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
- #define ID3D12Device_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
- #define ID3D12Device_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
- #define ID3D12Device_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
- #define ID3D12Device_GetNodeCount(This) \
- ( (This)->lpVtbl -> GetNodeCount(This) )
- #define ID3D12Device_CreateCommandQueue(This,pDesc,riid,ppCommandQueue) \
- ( (This)->lpVtbl -> CreateCommandQueue(This,pDesc,riid,ppCommandQueue) )
- #define ID3D12Device_CreateCommandAllocator(This,type,riid,ppCommandAllocator) \
- ( (This)->lpVtbl -> CreateCommandAllocator(This,type,riid,ppCommandAllocator) )
- #define ID3D12Device_CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) \
- ( (This)->lpVtbl -> CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) )
- #define ID3D12Device_CreateComputePipelineState(This,pDesc,riid,ppPipelineState) \
- ( (This)->lpVtbl -> CreateComputePipelineState(This,pDesc,riid,ppPipelineState) )
- #define ID3D12Device_CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) \
- ( (This)->lpVtbl -> CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) )
- #define ID3D12Device_CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) \
- ( (This)->lpVtbl -> CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) )
- #define ID3D12Device_CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) \
- ( (This)->lpVtbl -> CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) )
- #define ID3D12Device_GetDescriptorHandleIncrementSize(This,DescriptorHeapType) \
- ( (This)->lpVtbl -> GetDescriptorHandleIncrementSize(This,DescriptorHeapType) )
- #define ID3D12Device_CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) \
- ( (This)->lpVtbl -> CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) )
- #define ID3D12Device_CreateConstantBufferView(This,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateConstantBufferView(This,pDesc,DestDescriptor) )
- #define ID3D12Device_CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) )
- #define ID3D12Device_CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) )
- #define ID3D12Device_CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) )
- #define ID3D12Device_CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) )
- #define ID3D12Device_CreateSampler(This,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateSampler(This,pDesc,DestDescriptor) )
- #define ID3D12Device_CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) \
- ( (This)->lpVtbl -> CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) )
- #define ID3D12Device_CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) \
- ( (This)->lpVtbl -> CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) )
- #if !defined(_WIN32)
- #define ID3D12Device_GetResourceAllocationInfo(This,visibleMask,numResourceDescs,pResourceDescs) \
- ( (This)->lpVtbl -> GetResourceAllocationInfo(This,visibleMask,numResourceDescs,pResourceDescs) )
- #else
- #define ID3D12Device_GetResourceAllocationInfo(This,RetVal,visibleMask,numResourceDescs,pResourceDescs) \
- ( (This)->lpVtbl -> GetResourceAllocationInfo(This,RetVal,visibleMask,numResourceDescs,pResourceDescs) )
- #endif
- #if !defined(_WIN32)
- #define ID3D12Device_GetCustomHeapProperties(This,nodeMask,heapType) \
- ( (This)->lpVtbl -> GetCustomHeapProperties(This,nodeMask,heapType) )
- #else
- #define ID3D12Device_GetCustomHeapProperties(This,RetVal,nodeMask,heapType) \
- ( (This)->lpVtbl -> GetCustomHeapProperties(This,RetVal,nodeMask,heapType) )
- #endif
- #define ID3D12Device_CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) \
- ( (This)->lpVtbl -> CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) )
- #define ID3D12Device_CreateHeap(This,pDesc,riid,ppvHeap) \
- ( (This)->lpVtbl -> CreateHeap(This,pDesc,riid,ppvHeap) )
- #define ID3D12Device_CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
- ( (This)->lpVtbl -> CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
- #define ID3D12Device_CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
- ( (This)->lpVtbl -> CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
- #define ID3D12Device_CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) \
- ( (This)->lpVtbl -> CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) )
- #define ID3D12Device_OpenSharedHandle(This,NTHandle,riid,ppvObj) \
- ( (This)->lpVtbl -> OpenSharedHandle(This,NTHandle,riid,ppvObj) )
- #define ID3D12Device_OpenSharedHandleByName(This,Name,Access,pNTHandle) \
- ( (This)->lpVtbl -> OpenSharedHandleByName(This,Name,Access,pNTHandle) )
- #define ID3D12Device_MakeResident(This,NumObjects,ppObjects) \
- ( (This)->lpVtbl -> MakeResident(This,NumObjects,ppObjects) )
- #define ID3D12Device_Evict(This,NumObjects,ppObjects) \
- ( (This)->lpVtbl -> Evict(This,NumObjects,ppObjects) )
- #define ID3D12Device_CreateFence(This,InitialValue,Flags,riid,ppFence) \
- ( (This)->lpVtbl -> CreateFence(This,InitialValue,Flags,riid,ppFence) )
- #define ID3D12Device_GetDeviceRemovedReason(This) \
- ( (This)->lpVtbl -> GetDeviceRemovedReason(This) )
- #define ID3D12Device_GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) \
- ( (This)->lpVtbl -> GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) )
- #define ID3D12Device_CreateQueryHeap(This,pDesc,riid,ppvHeap) \
- ( (This)->lpVtbl -> CreateQueryHeap(This,pDesc,riid,ppvHeap) )
- #define ID3D12Device_SetStablePowerState(This,Enable) \
- ( (This)->lpVtbl -> SetStablePowerState(This,Enable) )
- #define ID3D12Device_CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) \
- ( (This)->lpVtbl -> CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) )
- #define ID3D12Device_GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) \
- ( (This)->lpVtbl -> GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) )
- #if !defined(_WIN32)
- #define ID3D12Device_GetAdapterLuid(This) \
- ( (This)->lpVtbl -> GetAdapterLuid(This) )
- #else
- #define ID3D12Device_GetAdapterLuid(This,RetVal) \
- ( (This)->lpVtbl -> GetAdapterLuid(This,RetVal) )
- #endif
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __ID3D12Device_INTERFACE_DEFINED__ */
- #ifndef __ID3D12PipelineLibrary_INTERFACE_DEFINED__
- #define __ID3D12PipelineLibrary_INTERFACE_DEFINED__
- /* interface ID3D12PipelineLibrary */
- /* [unique][local][object][uuid] */
- EXTERN_C const IID IID_ID3D12PipelineLibrary;
- #if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("c64226a8-9201-46af-b4cc-53fb9ff7414f")
- ID3D12PipelineLibrary : public ID3D12DeviceChild
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE StorePipeline(
- _In_opt_ LPCWSTR pName,
- _In_ ID3D12PipelineState *pPipeline) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE LoadGraphicsPipeline(
- _In_ LPCWSTR pName,
- _In_ const D3D12_GRAPHICS_PIPELINE_STATE_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineState) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE LoadComputePipeline(
- _In_ LPCWSTR pName,
- _In_ const D3D12_COMPUTE_PIPELINE_STATE_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineState) = 0;
-
- virtual SIZE_T STDMETHODCALLTYPE GetSerializedSize( void) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE Serialize(
- _Out_writes_(DataSizeInBytes) void *pData,
- SIZE_T DataSizeInBytes) = 0;
-
- };
-
-
- #else /* C style interface */
- typedef struct ID3D12PipelineLibraryVtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12PipelineLibrary * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12PipelineLibrary * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12PipelineLibrary * This);
-
- DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12PipelineLibrary * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12PipelineLibrary * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12PipelineLibrary * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetName)
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12PipelineLibrary * This,
- _In_z_ LPCWSTR Name);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice)
- HRESULT ( STDMETHODCALLTYPE *GetDevice )(
- ID3D12PipelineLibrary * This,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvDevice);
-
- DECLSPEC_XFGVIRT(ID3D12PipelineLibrary, StorePipeline)
- HRESULT ( STDMETHODCALLTYPE *StorePipeline )(
- ID3D12PipelineLibrary * This,
- _In_opt_ LPCWSTR pName,
- _In_ ID3D12PipelineState *pPipeline);
-
- DECLSPEC_XFGVIRT(ID3D12PipelineLibrary, LoadGraphicsPipeline)
- HRESULT ( STDMETHODCALLTYPE *LoadGraphicsPipeline )(
- ID3D12PipelineLibrary * This,
- _In_ LPCWSTR pName,
- _In_ const D3D12_GRAPHICS_PIPELINE_STATE_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineState);
-
- DECLSPEC_XFGVIRT(ID3D12PipelineLibrary, LoadComputePipeline)
- HRESULT ( STDMETHODCALLTYPE *LoadComputePipeline )(
- ID3D12PipelineLibrary * This,
- _In_ LPCWSTR pName,
- _In_ const D3D12_COMPUTE_PIPELINE_STATE_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineState);
-
- DECLSPEC_XFGVIRT(ID3D12PipelineLibrary, GetSerializedSize)
- SIZE_T ( STDMETHODCALLTYPE *GetSerializedSize )(
- ID3D12PipelineLibrary * This);
-
- DECLSPEC_XFGVIRT(ID3D12PipelineLibrary, Serialize)
- HRESULT ( STDMETHODCALLTYPE *Serialize )(
- ID3D12PipelineLibrary * This,
- _Out_writes_(DataSizeInBytes) void *pData,
- SIZE_T DataSizeInBytes);
-
- END_INTERFACE
- } ID3D12PipelineLibraryVtbl;
- interface ID3D12PipelineLibrary
- {
- CONST_VTBL struct ID3D12PipelineLibraryVtbl *lpVtbl;
- };
-
- #ifdef COBJMACROS
- #define ID3D12PipelineLibrary_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define ID3D12PipelineLibrary_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define ID3D12PipelineLibrary_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #define ID3D12PipelineLibrary_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
- #define ID3D12PipelineLibrary_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
- #define ID3D12PipelineLibrary_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
- #define ID3D12PipelineLibrary_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
- #define ID3D12PipelineLibrary_GetDevice(This,riid,ppvDevice) \
- ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
- #define ID3D12PipelineLibrary_StorePipeline(This,pName,pPipeline) \
- ( (This)->lpVtbl -> StorePipeline(This,pName,pPipeline) )
- #define ID3D12PipelineLibrary_LoadGraphicsPipeline(This,pName,pDesc,riid,ppPipelineState) \
- ( (This)->lpVtbl -> LoadGraphicsPipeline(This,pName,pDesc,riid,ppPipelineState) )
- #define ID3D12PipelineLibrary_LoadComputePipeline(This,pName,pDesc,riid,ppPipelineState) \
- ( (This)->lpVtbl -> LoadComputePipeline(This,pName,pDesc,riid,ppPipelineState) )
- #define ID3D12PipelineLibrary_GetSerializedSize(This) \
- ( (This)->lpVtbl -> GetSerializedSize(This) )
- #define ID3D12PipelineLibrary_Serialize(This,pData,DataSizeInBytes) \
- ( (This)->lpVtbl -> Serialize(This,pData,DataSizeInBytes) )
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __ID3D12PipelineLibrary_INTERFACE_DEFINED__ */
- #ifndef __ID3D12PipelineLibrary1_INTERFACE_DEFINED__
- #define __ID3D12PipelineLibrary1_INTERFACE_DEFINED__
- /* interface ID3D12PipelineLibrary1 */
- /* [unique][local][object][uuid] */
- EXTERN_C const IID IID_ID3D12PipelineLibrary1;
- #if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("80eabf42-2568-4e5e-bd82-c37f86961dc3")
- ID3D12PipelineLibrary1 : public ID3D12PipelineLibrary
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE LoadPipeline(
- _In_ LPCWSTR pName,
- _In_ const D3D12_PIPELINE_STATE_STREAM_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineState) = 0;
-
- };
-
-
- #else /* C style interface */
- typedef struct ID3D12PipelineLibrary1Vtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12PipelineLibrary1 * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12PipelineLibrary1 * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12PipelineLibrary1 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12PipelineLibrary1 * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12PipelineLibrary1 * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12PipelineLibrary1 * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetName)
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12PipelineLibrary1 * This,
- _In_z_ LPCWSTR Name);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice)
- HRESULT ( STDMETHODCALLTYPE *GetDevice )(
- ID3D12PipelineLibrary1 * This,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvDevice);
-
- DECLSPEC_XFGVIRT(ID3D12PipelineLibrary, StorePipeline)
- HRESULT ( STDMETHODCALLTYPE *StorePipeline )(
- ID3D12PipelineLibrary1 * This,
- _In_opt_ LPCWSTR pName,
- _In_ ID3D12PipelineState *pPipeline);
-
- DECLSPEC_XFGVIRT(ID3D12PipelineLibrary, LoadGraphicsPipeline)
- HRESULT ( STDMETHODCALLTYPE *LoadGraphicsPipeline )(
- ID3D12PipelineLibrary1 * This,
- _In_ LPCWSTR pName,
- _In_ const D3D12_GRAPHICS_PIPELINE_STATE_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineState);
-
- DECLSPEC_XFGVIRT(ID3D12PipelineLibrary, LoadComputePipeline)
- HRESULT ( STDMETHODCALLTYPE *LoadComputePipeline )(
- ID3D12PipelineLibrary1 * This,
- _In_ LPCWSTR pName,
- _In_ const D3D12_COMPUTE_PIPELINE_STATE_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineState);
-
- DECLSPEC_XFGVIRT(ID3D12PipelineLibrary, GetSerializedSize)
- SIZE_T ( STDMETHODCALLTYPE *GetSerializedSize )(
- ID3D12PipelineLibrary1 * This);
-
- DECLSPEC_XFGVIRT(ID3D12PipelineLibrary, Serialize)
- HRESULT ( STDMETHODCALLTYPE *Serialize )(
- ID3D12PipelineLibrary1 * This,
- _Out_writes_(DataSizeInBytes) void *pData,
- SIZE_T DataSizeInBytes);
-
- DECLSPEC_XFGVIRT(ID3D12PipelineLibrary1, LoadPipeline)
- HRESULT ( STDMETHODCALLTYPE *LoadPipeline )(
- ID3D12PipelineLibrary1 * This,
- _In_ LPCWSTR pName,
- _In_ const D3D12_PIPELINE_STATE_STREAM_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineState);
-
- END_INTERFACE
- } ID3D12PipelineLibrary1Vtbl;
- interface ID3D12PipelineLibrary1
- {
- CONST_VTBL struct ID3D12PipelineLibrary1Vtbl *lpVtbl;
- };
-
- #ifdef COBJMACROS
- #define ID3D12PipelineLibrary1_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define ID3D12PipelineLibrary1_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define ID3D12PipelineLibrary1_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #define ID3D12PipelineLibrary1_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
- #define ID3D12PipelineLibrary1_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
- #define ID3D12PipelineLibrary1_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
- #define ID3D12PipelineLibrary1_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
- #define ID3D12PipelineLibrary1_GetDevice(This,riid,ppvDevice) \
- ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
- #define ID3D12PipelineLibrary1_StorePipeline(This,pName,pPipeline) \
- ( (This)->lpVtbl -> StorePipeline(This,pName,pPipeline) )
- #define ID3D12PipelineLibrary1_LoadGraphicsPipeline(This,pName,pDesc,riid,ppPipelineState) \
- ( (This)->lpVtbl -> LoadGraphicsPipeline(This,pName,pDesc,riid,ppPipelineState) )
- #define ID3D12PipelineLibrary1_LoadComputePipeline(This,pName,pDesc,riid,ppPipelineState) \
- ( (This)->lpVtbl -> LoadComputePipeline(This,pName,pDesc,riid,ppPipelineState) )
- #define ID3D12PipelineLibrary1_GetSerializedSize(This) \
- ( (This)->lpVtbl -> GetSerializedSize(This) )
- #define ID3D12PipelineLibrary1_Serialize(This,pData,DataSizeInBytes) \
- ( (This)->lpVtbl -> Serialize(This,pData,DataSizeInBytes) )
- #define ID3D12PipelineLibrary1_LoadPipeline(This,pName,pDesc,riid,ppPipelineState) \
- ( (This)->lpVtbl -> LoadPipeline(This,pName,pDesc,riid,ppPipelineState) )
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __ID3D12PipelineLibrary1_INTERFACE_DEFINED__ */
- /* interface __MIDL_itf_d3d12_0000_0023 */
- /* [local] */
- typedef
- enum D3D12_MULTIPLE_FENCE_WAIT_FLAGS
- {
- D3D12_MULTIPLE_FENCE_WAIT_FLAG_NONE = 0,
- D3D12_MULTIPLE_FENCE_WAIT_FLAG_ANY = 0x1,
- D3D12_MULTIPLE_FENCE_WAIT_FLAG_ALL = 0
- } D3D12_MULTIPLE_FENCE_WAIT_FLAGS;
- DEFINE_ENUM_FLAG_OPERATORS( D3D12_MULTIPLE_FENCE_WAIT_FLAGS );
- typedef
- enum D3D12_RESIDENCY_PRIORITY
- {
- D3D12_RESIDENCY_PRIORITY_MINIMUM = 0x28000000,
- D3D12_RESIDENCY_PRIORITY_LOW = 0x50000000,
- D3D12_RESIDENCY_PRIORITY_NORMAL = 0x78000000,
- D3D12_RESIDENCY_PRIORITY_HIGH = 0xa0010000,
- D3D12_RESIDENCY_PRIORITY_MAXIMUM = 0xc8000000
- } D3D12_RESIDENCY_PRIORITY;
- extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0023_v0_0_c_ifspec;
- extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0023_v0_0_s_ifspec;
- #ifndef __ID3D12Device1_INTERFACE_DEFINED__
- #define __ID3D12Device1_INTERFACE_DEFINED__
- /* interface ID3D12Device1 */
- /* [unique][local][object][uuid] */
- EXTERN_C const IID IID_ID3D12Device1;
- #if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("77acce80-638e-4e65-8895-c1f23386863e")
- ID3D12Device1 : public ID3D12Device
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE CreatePipelineLibrary(
- _In_reads_(BlobLength) const void *pLibraryBlob,
- SIZE_T BlobLength,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineLibrary) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE SetEventOnMultipleFenceCompletion(
- _In_reads_(NumFences) ID3D12Fence *const *ppFences,
- _In_reads_(NumFences) const UINT64 *pFenceValues,
- UINT NumFences,
- D3D12_MULTIPLE_FENCE_WAIT_FLAGS Flags,
- HANDLE hEvent) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE SetResidencyPriority(
- UINT NumObjects,
- _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects,
- _In_reads_(NumObjects) const D3D12_RESIDENCY_PRIORITY *pPriorities) = 0;
-
- };
-
-
- #else /* C style interface */
- typedef struct ID3D12Device1Vtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12Device1 * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12Device1 * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12Device1 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12Device1 * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12Device1 * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12Device1 * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetName)
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12Device1 * This,
- _In_z_ LPCWSTR Name);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetNodeCount)
- UINT ( STDMETHODCALLTYPE *GetNodeCount )(
- ID3D12Device1 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandQueue)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandQueue )(
- ID3D12Device1 * This,
- _In_ const D3D12_COMMAND_QUEUE_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppCommandQueue);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandAllocator)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandAllocator )(
- ID3D12Device1 * This,
- _In_ D3D12_COMMAND_LIST_TYPE type,
- REFIID riid,
- _COM_Outptr_ void **ppCommandAllocator);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateGraphicsPipelineState)
- HRESULT ( STDMETHODCALLTYPE *CreateGraphicsPipelineState )(
- ID3D12Device1 * This,
- _In_ const D3D12_GRAPHICS_PIPELINE_STATE_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineState);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateComputePipelineState)
- HRESULT ( STDMETHODCALLTYPE *CreateComputePipelineState )(
- ID3D12Device1 * This,
- _In_ const D3D12_COMPUTE_PIPELINE_STATE_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineState);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandList)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandList )(
- ID3D12Device1 * This,
- _In_ UINT nodeMask,
- _In_ D3D12_COMMAND_LIST_TYPE type,
- _In_ ID3D12CommandAllocator *pCommandAllocator,
- _In_opt_ ID3D12PipelineState *pInitialState,
- REFIID riid,
- _COM_Outptr_ void **ppCommandList);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CheckFeatureSupport)
- HRESULT ( STDMETHODCALLTYPE *CheckFeatureSupport )(
- ID3D12Device1 * This,
- D3D12_FEATURE Feature,
- _Inout_updates_bytes_(FeatureSupportDataSize) void *pFeatureSupportData,
- UINT FeatureSupportDataSize);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateDescriptorHeap)
- HRESULT ( STDMETHODCALLTYPE *CreateDescriptorHeap )(
- ID3D12Device1 * This,
- _In_ const D3D12_DESCRIPTOR_HEAP_DESC *pDescriptorHeapDesc,
- REFIID riid,
- _COM_Outptr_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetDescriptorHandleIncrementSize)
- UINT ( STDMETHODCALLTYPE *GetDescriptorHandleIncrementSize )(
- ID3D12Device1 * This,
- _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapType);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateRootSignature)
- HRESULT ( STDMETHODCALLTYPE *CreateRootSignature )(
- ID3D12Device1 * This,
- _In_ UINT nodeMask,
- _In_reads_(blobLengthInBytes) const void *pBlobWithRootSignature,
- _In_ SIZE_T blobLengthInBytes,
- REFIID riid,
- _COM_Outptr_ void **ppvRootSignature);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateConstantBufferView)
- void ( STDMETHODCALLTYPE *CreateConstantBufferView )(
- ID3D12Device1 * This,
- _In_opt_ const D3D12_CONSTANT_BUFFER_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateShaderResourceView)
- void ( STDMETHODCALLTYPE *CreateShaderResourceView )(
- ID3D12Device1 * This,
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_SHADER_RESOURCE_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateUnorderedAccessView)
- void ( STDMETHODCALLTYPE *CreateUnorderedAccessView )(
- ID3D12Device1 * This,
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ ID3D12Resource *pCounterResource,
- _In_opt_ const D3D12_UNORDERED_ACCESS_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateRenderTargetView)
- void ( STDMETHODCALLTYPE *CreateRenderTargetView )(
- ID3D12Device1 * This,
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_RENDER_TARGET_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateDepthStencilView)
- void ( STDMETHODCALLTYPE *CreateDepthStencilView )(
- ID3D12Device1 * This,
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_DEPTH_STENCIL_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateSampler)
- void ( STDMETHODCALLTYPE *CreateSampler )(
- ID3D12Device1 * This,
- _In_ const D3D12_SAMPLER_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CopyDescriptors)
- void ( STDMETHODCALLTYPE *CopyDescriptors )(
- ID3D12Device1 * This,
- _In_ UINT NumDestDescriptorRanges,
- _In_reads_(NumDestDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pDestDescriptorRangeStarts,
- _In_reads_opt_(NumDestDescriptorRanges) const UINT *pDestDescriptorRangeSizes,
- _In_ UINT NumSrcDescriptorRanges,
- _In_reads_(NumSrcDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pSrcDescriptorRangeStarts,
- _In_reads_opt_(NumSrcDescriptorRanges) const UINT *pSrcDescriptorRangeSizes,
- _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CopyDescriptorsSimple)
- void ( STDMETHODCALLTYPE *CopyDescriptorsSimple )(
- ID3D12Device1 * This,
- _In_ UINT NumDescriptors,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptorRangeStart,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE SrcDescriptorRangeStart,
- _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetResourceAllocationInfo)
- #if !defined(_WIN32)
- D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo )(
- ID3D12Device1 * This,
- _In_ UINT visibleMask,
- _In_ UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs);
-
- #else
- D3D12_RESOURCE_ALLOCATION_INFO *( STDMETHODCALLTYPE *GetResourceAllocationInfo )(
- ID3D12Device1 * This,
- D3D12_RESOURCE_ALLOCATION_INFO * RetVal,
- _In_ UINT visibleMask,
- _In_ UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs);
-
- #endif
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetCustomHeapProperties)
- #if !defined(_WIN32)
- D3D12_HEAP_PROPERTIES ( STDMETHODCALLTYPE *GetCustomHeapProperties )(
- ID3D12Device1 * This,
- _In_ UINT nodeMask,
- D3D12_HEAP_TYPE heapType);
-
- #else
- D3D12_HEAP_PROPERTIES *( STDMETHODCALLTYPE *GetCustomHeapProperties )(
- ID3D12Device1 * This,
- D3D12_HEAP_PROPERTIES * RetVal,
- _In_ UINT nodeMask,
- D3D12_HEAP_TYPE heapType);
-
- #endif
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommittedResource)
- HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource )(
- ID3D12Device1 * This,
- _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties,
- D3D12_HEAP_FLAGS HeapFlags,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialResourceState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- REFIID riidResource,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateHeap)
- HRESULT ( STDMETHODCALLTYPE *CreateHeap )(
- ID3D12Device1 * This,
- _In_ const D3D12_HEAP_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreatePlacedResource)
- HRESULT ( STDMETHODCALLTYPE *CreatePlacedResource )(
- ID3D12Device1 * This,
- _In_ ID3D12Heap *pHeap,
- UINT64 HeapOffset,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateReservedResource)
- HRESULT ( STDMETHODCALLTYPE *CreateReservedResource )(
- ID3D12Device1 * This,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateSharedHandle)
- HRESULT ( STDMETHODCALLTYPE *CreateSharedHandle )(
- ID3D12Device1 * This,
- _In_ ID3D12DeviceChild *pObject,
- _In_opt_ const SECURITY_ATTRIBUTES *pAttributes,
- DWORD Access,
- _In_opt_ LPCWSTR Name,
- _Out_ HANDLE *pHandle);
-
- DECLSPEC_XFGVIRT(ID3D12Device, OpenSharedHandle)
- HRESULT ( STDMETHODCALLTYPE *OpenSharedHandle )(
- ID3D12Device1 * This,
- _In_ HANDLE NTHandle,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvObj);
-
- DECLSPEC_XFGVIRT(ID3D12Device, OpenSharedHandleByName)
- HRESULT ( STDMETHODCALLTYPE *OpenSharedHandleByName )(
- ID3D12Device1 * This,
- _In_ LPCWSTR Name,
- DWORD Access,
- /* [annotation][out] */
- _Out_ HANDLE *pNTHandle);
-
- DECLSPEC_XFGVIRT(ID3D12Device, MakeResident)
- HRESULT ( STDMETHODCALLTYPE *MakeResident )(
- ID3D12Device1 * This,
- UINT NumObjects,
- _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects);
-
- DECLSPEC_XFGVIRT(ID3D12Device, Evict)
- HRESULT ( STDMETHODCALLTYPE *Evict )(
- ID3D12Device1 * This,
- UINT NumObjects,
- _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateFence)
- HRESULT ( STDMETHODCALLTYPE *CreateFence )(
- ID3D12Device1 * This,
- UINT64 InitialValue,
- D3D12_FENCE_FLAGS Flags,
- REFIID riid,
- _COM_Outptr_ void **ppFence);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetDeviceRemovedReason)
- HRESULT ( STDMETHODCALLTYPE *GetDeviceRemovedReason )(
- ID3D12Device1 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetCopyableFootprints)
- void ( STDMETHODCALLTYPE *GetCopyableFootprints )(
- ID3D12Device1 * This,
- _In_ const D3D12_RESOURCE_DESC *pResourceDesc,
- _In_range_(0,D3D12_REQ_SUBRESOURCES) UINT FirstSubresource,
- _In_range_(0,D3D12_REQ_SUBRESOURCES-FirstSubresource) UINT NumSubresources,
- UINT64 BaseOffset,
- _Out_writes_opt_(NumSubresources) D3D12_PLACED_SUBRESOURCE_FOOTPRINT *pLayouts,
- _Out_writes_opt_(NumSubresources) UINT *pNumRows,
- _Out_writes_opt_(NumSubresources) UINT64 *pRowSizeInBytes,
- _Out_opt_ UINT64 *pTotalBytes);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateQueryHeap)
- HRESULT ( STDMETHODCALLTYPE *CreateQueryHeap )(
- ID3D12Device1 * This,
- _In_ const D3D12_QUERY_HEAP_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device, SetStablePowerState)
- HRESULT ( STDMETHODCALLTYPE *SetStablePowerState )(
- ID3D12Device1 * This,
- BOOL Enable);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandSignature)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandSignature )(
- ID3D12Device1 * This,
- _In_ const D3D12_COMMAND_SIGNATURE_DESC *pDesc,
- _In_opt_ ID3D12RootSignature *pRootSignature,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvCommandSignature);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetResourceTiling)
- void ( STDMETHODCALLTYPE *GetResourceTiling )(
- ID3D12Device1 * This,
- _In_ ID3D12Resource *pTiledResource,
- _Out_opt_ UINT *pNumTilesForEntireResource,
- _Out_opt_ D3D12_PACKED_MIP_INFO *pPackedMipDesc,
- _Out_opt_ D3D12_TILE_SHAPE *pStandardTileShapeForNonPackedMips,
- _Inout_opt_ UINT *pNumSubresourceTilings,
- _In_ UINT FirstSubresourceTilingToGet,
- _Out_writes_(*pNumSubresourceTilings) D3D12_SUBRESOURCE_TILING *pSubresourceTilingsForNonPackedMips);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetAdapterLuid)
- #if !defined(_WIN32)
- LUID ( STDMETHODCALLTYPE *GetAdapterLuid )(
- ID3D12Device1 * This);
-
- #else
- LUID *( STDMETHODCALLTYPE *GetAdapterLuid )(
- ID3D12Device1 * This,
- LUID * RetVal);
-
- #endif
-
- DECLSPEC_XFGVIRT(ID3D12Device1, CreatePipelineLibrary)
- HRESULT ( STDMETHODCALLTYPE *CreatePipelineLibrary )(
- ID3D12Device1 * This,
- _In_reads_(BlobLength) const void *pLibraryBlob,
- SIZE_T BlobLength,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineLibrary);
-
- DECLSPEC_XFGVIRT(ID3D12Device1, SetEventOnMultipleFenceCompletion)
- HRESULT ( STDMETHODCALLTYPE *SetEventOnMultipleFenceCompletion )(
- ID3D12Device1 * This,
- _In_reads_(NumFences) ID3D12Fence *const *ppFences,
- _In_reads_(NumFences) const UINT64 *pFenceValues,
- UINT NumFences,
- D3D12_MULTIPLE_FENCE_WAIT_FLAGS Flags,
- HANDLE hEvent);
-
- DECLSPEC_XFGVIRT(ID3D12Device1, SetResidencyPriority)
- HRESULT ( STDMETHODCALLTYPE *SetResidencyPriority )(
- ID3D12Device1 * This,
- UINT NumObjects,
- _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects,
- _In_reads_(NumObjects) const D3D12_RESIDENCY_PRIORITY *pPriorities);
-
- END_INTERFACE
- } ID3D12Device1Vtbl;
- interface ID3D12Device1
- {
- CONST_VTBL struct ID3D12Device1Vtbl *lpVtbl;
- };
-
- #ifdef COBJMACROS
- #define ID3D12Device1_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define ID3D12Device1_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define ID3D12Device1_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #define ID3D12Device1_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
- #define ID3D12Device1_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
- #define ID3D12Device1_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
- #define ID3D12Device1_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
- #define ID3D12Device1_GetNodeCount(This) \
- ( (This)->lpVtbl -> GetNodeCount(This) )
- #define ID3D12Device1_CreateCommandQueue(This,pDesc,riid,ppCommandQueue) \
- ( (This)->lpVtbl -> CreateCommandQueue(This,pDesc,riid,ppCommandQueue) )
- #define ID3D12Device1_CreateCommandAllocator(This,type,riid,ppCommandAllocator) \
- ( (This)->lpVtbl -> CreateCommandAllocator(This,type,riid,ppCommandAllocator) )
- #define ID3D12Device1_CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) \
- ( (This)->lpVtbl -> CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) )
- #define ID3D12Device1_CreateComputePipelineState(This,pDesc,riid,ppPipelineState) \
- ( (This)->lpVtbl -> CreateComputePipelineState(This,pDesc,riid,ppPipelineState) )
- #define ID3D12Device1_CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) \
- ( (This)->lpVtbl -> CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) )
- #define ID3D12Device1_CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) \
- ( (This)->lpVtbl -> CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) )
- #define ID3D12Device1_CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) \
- ( (This)->lpVtbl -> CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) )
- #define ID3D12Device1_GetDescriptorHandleIncrementSize(This,DescriptorHeapType) \
- ( (This)->lpVtbl -> GetDescriptorHandleIncrementSize(This,DescriptorHeapType) )
- #define ID3D12Device1_CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) \
- ( (This)->lpVtbl -> CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) )
- #define ID3D12Device1_CreateConstantBufferView(This,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateConstantBufferView(This,pDesc,DestDescriptor) )
- #define ID3D12Device1_CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) )
- #define ID3D12Device1_CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) )
- #define ID3D12Device1_CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) )
- #define ID3D12Device1_CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) )
- #define ID3D12Device1_CreateSampler(This,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateSampler(This,pDesc,DestDescriptor) )
- #define ID3D12Device1_CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) \
- ( (This)->lpVtbl -> CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) )
- #define ID3D12Device1_CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) \
- ( (This)->lpVtbl -> CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) )
- #if !defined(_WIN32)
- #define ID3D12Device1_GetResourceAllocationInfo(This,visibleMask,numResourceDescs,pResourceDescs) \
- ( (This)->lpVtbl -> GetResourceAllocationInfo(This,visibleMask,numResourceDescs,pResourceDescs) )
- #else
- #define ID3D12Device1_GetResourceAllocationInfo(This,RetVal,visibleMask,numResourceDescs,pResourceDescs) \
- ( (This)->lpVtbl -> GetResourceAllocationInfo(This,RetVal,visibleMask,numResourceDescs,pResourceDescs) )
- #endif
- #if !defined(_WIN32)
- #define ID3D12Device1_GetCustomHeapProperties(This,nodeMask,heapType) \
- ( (This)->lpVtbl -> GetCustomHeapProperties(This,nodeMask,heapType) )
- #else
- #define ID3D12Device1_GetCustomHeapProperties(This,RetVal,nodeMask,heapType) \
- ( (This)->lpVtbl -> GetCustomHeapProperties(This,RetVal,nodeMask,heapType) )
- #endif
- #define ID3D12Device1_CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) \
- ( (This)->lpVtbl -> CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) )
- #define ID3D12Device1_CreateHeap(This,pDesc,riid,ppvHeap) \
- ( (This)->lpVtbl -> CreateHeap(This,pDesc,riid,ppvHeap) )
- #define ID3D12Device1_CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
- ( (This)->lpVtbl -> CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
- #define ID3D12Device1_CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
- ( (This)->lpVtbl -> CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
- #define ID3D12Device1_CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) \
- ( (This)->lpVtbl -> CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) )
- #define ID3D12Device1_OpenSharedHandle(This,NTHandle,riid,ppvObj) \
- ( (This)->lpVtbl -> OpenSharedHandle(This,NTHandle,riid,ppvObj) )
- #define ID3D12Device1_OpenSharedHandleByName(This,Name,Access,pNTHandle) \
- ( (This)->lpVtbl -> OpenSharedHandleByName(This,Name,Access,pNTHandle) )
- #define ID3D12Device1_MakeResident(This,NumObjects,ppObjects) \
- ( (This)->lpVtbl -> MakeResident(This,NumObjects,ppObjects) )
- #define ID3D12Device1_Evict(This,NumObjects,ppObjects) \
- ( (This)->lpVtbl -> Evict(This,NumObjects,ppObjects) )
- #define ID3D12Device1_CreateFence(This,InitialValue,Flags,riid,ppFence) \
- ( (This)->lpVtbl -> CreateFence(This,InitialValue,Flags,riid,ppFence) )
- #define ID3D12Device1_GetDeviceRemovedReason(This) \
- ( (This)->lpVtbl -> GetDeviceRemovedReason(This) )
- #define ID3D12Device1_GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) \
- ( (This)->lpVtbl -> GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) )
- #define ID3D12Device1_CreateQueryHeap(This,pDesc,riid,ppvHeap) \
- ( (This)->lpVtbl -> CreateQueryHeap(This,pDesc,riid,ppvHeap) )
- #define ID3D12Device1_SetStablePowerState(This,Enable) \
- ( (This)->lpVtbl -> SetStablePowerState(This,Enable) )
- #define ID3D12Device1_CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) \
- ( (This)->lpVtbl -> CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) )
- #define ID3D12Device1_GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) \
- ( (This)->lpVtbl -> GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) )
- #if !defined(_WIN32)
- #define ID3D12Device1_GetAdapterLuid(This) \
- ( (This)->lpVtbl -> GetAdapterLuid(This) )
- #else
- #define ID3D12Device1_GetAdapterLuid(This,RetVal) \
- ( (This)->lpVtbl -> GetAdapterLuid(This,RetVal) )
- #endif
- #define ID3D12Device1_CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) \
- ( (This)->lpVtbl -> CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) )
- #define ID3D12Device1_SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) \
- ( (This)->lpVtbl -> SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) )
- #define ID3D12Device1_SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) \
- ( (This)->lpVtbl -> SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) )
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __ID3D12Device1_INTERFACE_DEFINED__ */
- #ifndef __ID3D12Device2_INTERFACE_DEFINED__
- #define __ID3D12Device2_INTERFACE_DEFINED__
- /* interface ID3D12Device2 */
- /* [unique][local][object][uuid] */
- EXTERN_C const IID IID_ID3D12Device2;
- #if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("30baa41e-b15b-475c-a0bb-1af5c5b64328")
- ID3D12Device2 : public ID3D12Device1
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE CreatePipelineState(
- const D3D12_PIPELINE_STATE_STREAM_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineState) = 0;
-
- };
-
-
- #else /* C style interface */
- typedef struct ID3D12Device2Vtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12Device2 * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12Device2 * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12Device2 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12Device2 * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12Device2 * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12Device2 * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetName)
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12Device2 * This,
- _In_z_ LPCWSTR Name);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetNodeCount)
- UINT ( STDMETHODCALLTYPE *GetNodeCount )(
- ID3D12Device2 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandQueue)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandQueue )(
- ID3D12Device2 * This,
- _In_ const D3D12_COMMAND_QUEUE_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppCommandQueue);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandAllocator)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandAllocator )(
- ID3D12Device2 * This,
- _In_ D3D12_COMMAND_LIST_TYPE type,
- REFIID riid,
- _COM_Outptr_ void **ppCommandAllocator);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateGraphicsPipelineState)
- HRESULT ( STDMETHODCALLTYPE *CreateGraphicsPipelineState )(
- ID3D12Device2 * This,
- _In_ const D3D12_GRAPHICS_PIPELINE_STATE_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineState);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateComputePipelineState)
- HRESULT ( STDMETHODCALLTYPE *CreateComputePipelineState )(
- ID3D12Device2 * This,
- _In_ const D3D12_COMPUTE_PIPELINE_STATE_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineState);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandList)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandList )(
- ID3D12Device2 * This,
- _In_ UINT nodeMask,
- _In_ D3D12_COMMAND_LIST_TYPE type,
- _In_ ID3D12CommandAllocator *pCommandAllocator,
- _In_opt_ ID3D12PipelineState *pInitialState,
- REFIID riid,
- _COM_Outptr_ void **ppCommandList);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CheckFeatureSupport)
- HRESULT ( STDMETHODCALLTYPE *CheckFeatureSupport )(
- ID3D12Device2 * This,
- D3D12_FEATURE Feature,
- _Inout_updates_bytes_(FeatureSupportDataSize) void *pFeatureSupportData,
- UINT FeatureSupportDataSize);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateDescriptorHeap)
- HRESULT ( STDMETHODCALLTYPE *CreateDescriptorHeap )(
- ID3D12Device2 * This,
- _In_ const D3D12_DESCRIPTOR_HEAP_DESC *pDescriptorHeapDesc,
- REFIID riid,
- _COM_Outptr_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetDescriptorHandleIncrementSize)
- UINT ( STDMETHODCALLTYPE *GetDescriptorHandleIncrementSize )(
- ID3D12Device2 * This,
- _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapType);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateRootSignature)
- HRESULT ( STDMETHODCALLTYPE *CreateRootSignature )(
- ID3D12Device2 * This,
- _In_ UINT nodeMask,
- _In_reads_(blobLengthInBytes) const void *pBlobWithRootSignature,
- _In_ SIZE_T blobLengthInBytes,
- REFIID riid,
- _COM_Outptr_ void **ppvRootSignature);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateConstantBufferView)
- void ( STDMETHODCALLTYPE *CreateConstantBufferView )(
- ID3D12Device2 * This,
- _In_opt_ const D3D12_CONSTANT_BUFFER_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateShaderResourceView)
- void ( STDMETHODCALLTYPE *CreateShaderResourceView )(
- ID3D12Device2 * This,
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_SHADER_RESOURCE_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateUnorderedAccessView)
- void ( STDMETHODCALLTYPE *CreateUnorderedAccessView )(
- ID3D12Device2 * This,
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ ID3D12Resource *pCounterResource,
- _In_opt_ const D3D12_UNORDERED_ACCESS_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateRenderTargetView)
- void ( STDMETHODCALLTYPE *CreateRenderTargetView )(
- ID3D12Device2 * This,
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_RENDER_TARGET_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateDepthStencilView)
- void ( STDMETHODCALLTYPE *CreateDepthStencilView )(
- ID3D12Device2 * This,
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_DEPTH_STENCIL_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateSampler)
- void ( STDMETHODCALLTYPE *CreateSampler )(
- ID3D12Device2 * This,
- _In_ const D3D12_SAMPLER_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CopyDescriptors)
- void ( STDMETHODCALLTYPE *CopyDescriptors )(
- ID3D12Device2 * This,
- _In_ UINT NumDestDescriptorRanges,
- _In_reads_(NumDestDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pDestDescriptorRangeStarts,
- _In_reads_opt_(NumDestDescriptorRanges) const UINT *pDestDescriptorRangeSizes,
- _In_ UINT NumSrcDescriptorRanges,
- _In_reads_(NumSrcDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pSrcDescriptorRangeStarts,
- _In_reads_opt_(NumSrcDescriptorRanges) const UINT *pSrcDescriptorRangeSizes,
- _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CopyDescriptorsSimple)
- void ( STDMETHODCALLTYPE *CopyDescriptorsSimple )(
- ID3D12Device2 * This,
- _In_ UINT NumDescriptors,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptorRangeStart,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE SrcDescriptorRangeStart,
- _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetResourceAllocationInfo)
- #if !defined(_WIN32)
- D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo )(
- ID3D12Device2 * This,
- _In_ UINT visibleMask,
- _In_ UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs);
-
- #else
- D3D12_RESOURCE_ALLOCATION_INFO *( STDMETHODCALLTYPE *GetResourceAllocationInfo )(
- ID3D12Device2 * This,
- D3D12_RESOURCE_ALLOCATION_INFO * RetVal,
- _In_ UINT visibleMask,
- _In_ UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs);
-
- #endif
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetCustomHeapProperties)
- #if !defined(_WIN32)
- D3D12_HEAP_PROPERTIES ( STDMETHODCALLTYPE *GetCustomHeapProperties )(
- ID3D12Device2 * This,
- _In_ UINT nodeMask,
- D3D12_HEAP_TYPE heapType);
-
- #else
- D3D12_HEAP_PROPERTIES *( STDMETHODCALLTYPE *GetCustomHeapProperties )(
- ID3D12Device2 * This,
- D3D12_HEAP_PROPERTIES * RetVal,
- _In_ UINT nodeMask,
- D3D12_HEAP_TYPE heapType);
-
- #endif
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommittedResource)
- HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource )(
- ID3D12Device2 * This,
- _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties,
- D3D12_HEAP_FLAGS HeapFlags,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialResourceState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- REFIID riidResource,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateHeap)
- HRESULT ( STDMETHODCALLTYPE *CreateHeap )(
- ID3D12Device2 * This,
- _In_ const D3D12_HEAP_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreatePlacedResource)
- HRESULT ( STDMETHODCALLTYPE *CreatePlacedResource )(
- ID3D12Device2 * This,
- _In_ ID3D12Heap *pHeap,
- UINT64 HeapOffset,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateReservedResource)
- HRESULT ( STDMETHODCALLTYPE *CreateReservedResource )(
- ID3D12Device2 * This,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateSharedHandle)
- HRESULT ( STDMETHODCALLTYPE *CreateSharedHandle )(
- ID3D12Device2 * This,
- _In_ ID3D12DeviceChild *pObject,
- _In_opt_ const SECURITY_ATTRIBUTES *pAttributes,
- DWORD Access,
- _In_opt_ LPCWSTR Name,
- _Out_ HANDLE *pHandle);
-
- DECLSPEC_XFGVIRT(ID3D12Device, OpenSharedHandle)
- HRESULT ( STDMETHODCALLTYPE *OpenSharedHandle )(
- ID3D12Device2 * This,
- _In_ HANDLE NTHandle,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvObj);
-
- DECLSPEC_XFGVIRT(ID3D12Device, OpenSharedHandleByName)
- HRESULT ( STDMETHODCALLTYPE *OpenSharedHandleByName )(
- ID3D12Device2 * This,
- _In_ LPCWSTR Name,
- DWORD Access,
- /* [annotation][out] */
- _Out_ HANDLE *pNTHandle);
-
- DECLSPEC_XFGVIRT(ID3D12Device, MakeResident)
- HRESULT ( STDMETHODCALLTYPE *MakeResident )(
- ID3D12Device2 * This,
- UINT NumObjects,
- _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects);
-
- DECLSPEC_XFGVIRT(ID3D12Device, Evict)
- HRESULT ( STDMETHODCALLTYPE *Evict )(
- ID3D12Device2 * This,
- UINT NumObjects,
- _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateFence)
- HRESULT ( STDMETHODCALLTYPE *CreateFence )(
- ID3D12Device2 * This,
- UINT64 InitialValue,
- D3D12_FENCE_FLAGS Flags,
- REFIID riid,
- _COM_Outptr_ void **ppFence);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetDeviceRemovedReason)
- HRESULT ( STDMETHODCALLTYPE *GetDeviceRemovedReason )(
- ID3D12Device2 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetCopyableFootprints)
- void ( STDMETHODCALLTYPE *GetCopyableFootprints )(
- ID3D12Device2 * This,
- _In_ const D3D12_RESOURCE_DESC *pResourceDesc,
- _In_range_(0,D3D12_REQ_SUBRESOURCES) UINT FirstSubresource,
- _In_range_(0,D3D12_REQ_SUBRESOURCES-FirstSubresource) UINT NumSubresources,
- UINT64 BaseOffset,
- _Out_writes_opt_(NumSubresources) D3D12_PLACED_SUBRESOURCE_FOOTPRINT *pLayouts,
- _Out_writes_opt_(NumSubresources) UINT *pNumRows,
- _Out_writes_opt_(NumSubresources) UINT64 *pRowSizeInBytes,
- _Out_opt_ UINT64 *pTotalBytes);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateQueryHeap)
- HRESULT ( STDMETHODCALLTYPE *CreateQueryHeap )(
- ID3D12Device2 * This,
- _In_ const D3D12_QUERY_HEAP_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device, SetStablePowerState)
- HRESULT ( STDMETHODCALLTYPE *SetStablePowerState )(
- ID3D12Device2 * This,
- BOOL Enable);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandSignature)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandSignature )(
- ID3D12Device2 * This,
- _In_ const D3D12_COMMAND_SIGNATURE_DESC *pDesc,
- _In_opt_ ID3D12RootSignature *pRootSignature,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvCommandSignature);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetResourceTiling)
- void ( STDMETHODCALLTYPE *GetResourceTiling )(
- ID3D12Device2 * This,
- _In_ ID3D12Resource *pTiledResource,
- _Out_opt_ UINT *pNumTilesForEntireResource,
- _Out_opt_ D3D12_PACKED_MIP_INFO *pPackedMipDesc,
- _Out_opt_ D3D12_TILE_SHAPE *pStandardTileShapeForNonPackedMips,
- _Inout_opt_ UINT *pNumSubresourceTilings,
- _In_ UINT FirstSubresourceTilingToGet,
- _Out_writes_(*pNumSubresourceTilings) D3D12_SUBRESOURCE_TILING *pSubresourceTilingsForNonPackedMips);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetAdapterLuid)
- #if !defined(_WIN32)
- LUID ( STDMETHODCALLTYPE *GetAdapterLuid )(
- ID3D12Device2 * This);
-
- #else
- LUID *( STDMETHODCALLTYPE *GetAdapterLuid )(
- ID3D12Device2 * This,
- LUID * RetVal);
-
- #endif
-
- DECLSPEC_XFGVIRT(ID3D12Device1, CreatePipelineLibrary)
- HRESULT ( STDMETHODCALLTYPE *CreatePipelineLibrary )(
- ID3D12Device2 * This,
- _In_reads_(BlobLength) const void *pLibraryBlob,
- SIZE_T BlobLength,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineLibrary);
-
- DECLSPEC_XFGVIRT(ID3D12Device1, SetEventOnMultipleFenceCompletion)
- HRESULT ( STDMETHODCALLTYPE *SetEventOnMultipleFenceCompletion )(
- ID3D12Device2 * This,
- _In_reads_(NumFences) ID3D12Fence *const *ppFences,
- _In_reads_(NumFences) const UINT64 *pFenceValues,
- UINT NumFences,
- D3D12_MULTIPLE_FENCE_WAIT_FLAGS Flags,
- HANDLE hEvent);
-
- DECLSPEC_XFGVIRT(ID3D12Device1, SetResidencyPriority)
- HRESULT ( STDMETHODCALLTYPE *SetResidencyPriority )(
- ID3D12Device2 * This,
- UINT NumObjects,
- _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects,
- _In_reads_(NumObjects) const D3D12_RESIDENCY_PRIORITY *pPriorities);
-
- DECLSPEC_XFGVIRT(ID3D12Device2, CreatePipelineState)
- HRESULT ( STDMETHODCALLTYPE *CreatePipelineState )(
- ID3D12Device2 * This,
- const D3D12_PIPELINE_STATE_STREAM_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineState);
-
- END_INTERFACE
- } ID3D12Device2Vtbl;
- interface ID3D12Device2
- {
- CONST_VTBL struct ID3D12Device2Vtbl *lpVtbl;
- };
-
- #ifdef COBJMACROS
- #define ID3D12Device2_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define ID3D12Device2_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define ID3D12Device2_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #define ID3D12Device2_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
- #define ID3D12Device2_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
- #define ID3D12Device2_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
- #define ID3D12Device2_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
- #define ID3D12Device2_GetNodeCount(This) \
- ( (This)->lpVtbl -> GetNodeCount(This) )
- #define ID3D12Device2_CreateCommandQueue(This,pDesc,riid,ppCommandQueue) \
- ( (This)->lpVtbl -> CreateCommandQueue(This,pDesc,riid,ppCommandQueue) )
- #define ID3D12Device2_CreateCommandAllocator(This,type,riid,ppCommandAllocator) \
- ( (This)->lpVtbl -> CreateCommandAllocator(This,type,riid,ppCommandAllocator) )
- #define ID3D12Device2_CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) \
- ( (This)->lpVtbl -> CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) )
- #define ID3D12Device2_CreateComputePipelineState(This,pDesc,riid,ppPipelineState) \
- ( (This)->lpVtbl -> CreateComputePipelineState(This,pDesc,riid,ppPipelineState) )
- #define ID3D12Device2_CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) \
- ( (This)->lpVtbl -> CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) )
- #define ID3D12Device2_CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) \
- ( (This)->lpVtbl -> CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) )
- #define ID3D12Device2_CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) \
- ( (This)->lpVtbl -> CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) )
- #define ID3D12Device2_GetDescriptorHandleIncrementSize(This,DescriptorHeapType) \
- ( (This)->lpVtbl -> GetDescriptorHandleIncrementSize(This,DescriptorHeapType) )
- #define ID3D12Device2_CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) \
- ( (This)->lpVtbl -> CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) )
- #define ID3D12Device2_CreateConstantBufferView(This,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateConstantBufferView(This,pDesc,DestDescriptor) )
- #define ID3D12Device2_CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) )
- #define ID3D12Device2_CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) )
- #define ID3D12Device2_CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) )
- #define ID3D12Device2_CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) )
- #define ID3D12Device2_CreateSampler(This,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateSampler(This,pDesc,DestDescriptor) )
- #define ID3D12Device2_CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) \
- ( (This)->lpVtbl -> CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) )
- #define ID3D12Device2_CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) \
- ( (This)->lpVtbl -> CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) )
- #if !defined(_WIN32)
- #define ID3D12Device2_GetResourceAllocationInfo(This,visibleMask,numResourceDescs,pResourceDescs) \
- ( (This)->lpVtbl -> GetResourceAllocationInfo(This,visibleMask,numResourceDescs,pResourceDescs) )
- #else
- #define ID3D12Device2_GetResourceAllocationInfo(This,RetVal,visibleMask,numResourceDescs,pResourceDescs) \
- ( (This)->lpVtbl -> GetResourceAllocationInfo(This,RetVal,visibleMask,numResourceDescs,pResourceDescs) )
- #endif
- #if !defined(_WIN32)
- #define ID3D12Device2_GetCustomHeapProperties(This,nodeMask,heapType) \
- ( (This)->lpVtbl -> GetCustomHeapProperties(This,nodeMask,heapType) )
- #else
- #define ID3D12Device2_GetCustomHeapProperties(This,RetVal,nodeMask,heapType) \
- ( (This)->lpVtbl -> GetCustomHeapProperties(This,RetVal,nodeMask,heapType) )
- #endif
- #define ID3D12Device2_CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) \
- ( (This)->lpVtbl -> CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) )
- #define ID3D12Device2_CreateHeap(This,pDesc,riid,ppvHeap) \
- ( (This)->lpVtbl -> CreateHeap(This,pDesc,riid,ppvHeap) )
- #define ID3D12Device2_CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
- ( (This)->lpVtbl -> CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
- #define ID3D12Device2_CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
- ( (This)->lpVtbl -> CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
- #define ID3D12Device2_CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) \
- ( (This)->lpVtbl -> CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) )
- #define ID3D12Device2_OpenSharedHandle(This,NTHandle,riid,ppvObj) \
- ( (This)->lpVtbl -> OpenSharedHandle(This,NTHandle,riid,ppvObj) )
- #define ID3D12Device2_OpenSharedHandleByName(This,Name,Access,pNTHandle) \
- ( (This)->lpVtbl -> OpenSharedHandleByName(This,Name,Access,pNTHandle) )
- #define ID3D12Device2_MakeResident(This,NumObjects,ppObjects) \
- ( (This)->lpVtbl -> MakeResident(This,NumObjects,ppObjects) )
- #define ID3D12Device2_Evict(This,NumObjects,ppObjects) \
- ( (This)->lpVtbl -> Evict(This,NumObjects,ppObjects) )
- #define ID3D12Device2_CreateFence(This,InitialValue,Flags,riid,ppFence) \
- ( (This)->lpVtbl -> CreateFence(This,InitialValue,Flags,riid,ppFence) )
- #define ID3D12Device2_GetDeviceRemovedReason(This) \
- ( (This)->lpVtbl -> GetDeviceRemovedReason(This) )
- #define ID3D12Device2_GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) \
- ( (This)->lpVtbl -> GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) )
- #define ID3D12Device2_CreateQueryHeap(This,pDesc,riid,ppvHeap) \
- ( (This)->lpVtbl -> CreateQueryHeap(This,pDesc,riid,ppvHeap) )
- #define ID3D12Device2_SetStablePowerState(This,Enable) \
- ( (This)->lpVtbl -> SetStablePowerState(This,Enable) )
- #define ID3D12Device2_CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) \
- ( (This)->lpVtbl -> CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) )
- #define ID3D12Device2_GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) \
- ( (This)->lpVtbl -> GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) )
- #if !defined(_WIN32)
- #define ID3D12Device2_GetAdapterLuid(This) \
- ( (This)->lpVtbl -> GetAdapterLuid(This) )
- #else
- #define ID3D12Device2_GetAdapterLuid(This,RetVal) \
- ( (This)->lpVtbl -> GetAdapterLuid(This,RetVal) )
- #endif
- #define ID3D12Device2_CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) \
- ( (This)->lpVtbl -> CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) )
- #define ID3D12Device2_SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) \
- ( (This)->lpVtbl -> SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) )
- #define ID3D12Device2_SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) \
- ( (This)->lpVtbl -> SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) )
- #define ID3D12Device2_CreatePipelineState(This,pDesc,riid,ppPipelineState) \
- ( (This)->lpVtbl -> CreatePipelineState(This,pDesc,riid,ppPipelineState) )
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __ID3D12Device2_INTERFACE_DEFINED__ */
- /* interface __MIDL_itf_d3d12_0000_0025 */
- /* [local] */
- typedef
- enum D3D12_RESIDENCY_FLAGS
- {
- D3D12_RESIDENCY_FLAG_NONE = 0,
- D3D12_RESIDENCY_FLAG_DENY_OVERBUDGET = 0x1
- } D3D12_RESIDENCY_FLAGS;
- DEFINE_ENUM_FLAG_OPERATORS( D3D12_RESIDENCY_FLAGS );
- extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0025_v0_0_c_ifspec;
- extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0025_v0_0_s_ifspec;
- #ifndef __ID3D12Device3_INTERFACE_DEFINED__
- #define __ID3D12Device3_INTERFACE_DEFINED__
- /* interface ID3D12Device3 */
- /* [unique][local][object][uuid] */
- EXTERN_C const IID IID_ID3D12Device3;
- #if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("81dadc15-2bad-4392-93c5-101345c4aa98")
- ID3D12Device3 : public ID3D12Device2
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE OpenExistingHeapFromAddress(
- _In_ const void *pAddress,
- REFIID riid,
- _COM_Outptr_ void **ppvHeap) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE OpenExistingHeapFromFileMapping(
- _In_ HANDLE hFileMapping,
- REFIID riid,
- _COM_Outptr_ void **ppvHeap) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE EnqueueMakeResident(
- D3D12_RESIDENCY_FLAGS Flags,
- UINT NumObjects,
- _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects,
- _In_ ID3D12Fence *pFenceToSignal,
- UINT64 FenceValueToSignal) = 0;
-
- };
-
-
- #else /* C style interface */
- typedef struct ID3D12Device3Vtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12Device3 * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12Device3 * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12Device3 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12Device3 * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12Device3 * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12Device3 * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetName)
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12Device3 * This,
- _In_z_ LPCWSTR Name);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetNodeCount)
- UINT ( STDMETHODCALLTYPE *GetNodeCount )(
- ID3D12Device3 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandQueue)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandQueue )(
- ID3D12Device3 * This,
- _In_ const D3D12_COMMAND_QUEUE_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppCommandQueue);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandAllocator)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandAllocator )(
- ID3D12Device3 * This,
- _In_ D3D12_COMMAND_LIST_TYPE type,
- REFIID riid,
- _COM_Outptr_ void **ppCommandAllocator);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateGraphicsPipelineState)
- HRESULT ( STDMETHODCALLTYPE *CreateGraphicsPipelineState )(
- ID3D12Device3 * This,
- _In_ const D3D12_GRAPHICS_PIPELINE_STATE_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineState);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateComputePipelineState)
- HRESULT ( STDMETHODCALLTYPE *CreateComputePipelineState )(
- ID3D12Device3 * This,
- _In_ const D3D12_COMPUTE_PIPELINE_STATE_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineState);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandList)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandList )(
- ID3D12Device3 * This,
- _In_ UINT nodeMask,
- _In_ D3D12_COMMAND_LIST_TYPE type,
- _In_ ID3D12CommandAllocator *pCommandAllocator,
- _In_opt_ ID3D12PipelineState *pInitialState,
- REFIID riid,
- _COM_Outptr_ void **ppCommandList);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CheckFeatureSupport)
- HRESULT ( STDMETHODCALLTYPE *CheckFeatureSupport )(
- ID3D12Device3 * This,
- D3D12_FEATURE Feature,
- _Inout_updates_bytes_(FeatureSupportDataSize) void *pFeatureSupportData,
- UINT FeatureSupportDataSize);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateDescriptorHeap)
- HRESULT ( STDMETHODCALLTYPE *CreateDescriptorHeap )(
- ID3D12Device3 * This,
- _In_ const D3D12_DESCRIPTOR_HEAP_DESC *pDescriptorHeapDesc,
- REFIID riid,
- _COM_Outptr_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetDescriptorHandleIncrementSize)
- UINT ( STDMETHODCALLTYPE *GetDescriptorHandleIncrementSize )(
- ID3D12Device3 * This,
- _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapType);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateRootSignature)
- HRESULT ( STDMETHODCALLTYPE *CreateRootSignature )(
- ID3D12Device3 * This,
- _In_ UINT nodeMask,
- _In_reads_(blobLengthInBytes) const void *pBlobWithRootSignature,
- _In_ SIZE_T blobLengthInBytes,
- REFIID riid,
- _COM_Outptr_ void **ppvRootSignature);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateConstantBufferView)
- void ( STDMETHODCALLTYPE *CreateConstantBufferView )(
- ID3D12Device3 * This,
- _In_opt_ const D3D12_CONSTANT_BUFFER_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateShaderResourceView)
- void ( STDMETHODCALLTYPE *CreateShaderResourceView )(
- ID3D12Device3 * This,
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_SHADER_RESOURCE_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateUnorderedAccessView)
- void ( STDMETHODCALLTYPE *CreateUnorderedAccessView )(
- ID3D12Device3 * This,
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ ID3D12Resource *pCounterResource,
- _In_opt_ const D3D12_UNORDERED_ACCESS_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateRenderTargetView)
- void ( STDMETHODCALLTYPE *CreateRenderTargetView )(
- ID3D12Device3 * This,
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_RENDER_TARGET_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateDepthStencilView)
- void ( STDMETHODCALLTYPE *CreateDepthStencilView )(
- ID3D12Device3 * This,
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_DEPTH_STENCIL_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateSampler)
- void ( STDMETHODCALLTYPE *CreateSampler )(
- ID3D12Device3 * This,
- _In_ const D3D12_SAMPLER_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CopyDescriptors)
- void ( STDMETHODCALLTYPE *CopyDescriptors )(
- ID3D12Device3 * This,
- _In_ UINT NumDestDescriptorRanges,
- _In_reads_(NumDestDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pDestDescriptorRangeStarts,
- _In_reads_opt_(NumDestDescriptorRanges) const UINT *pDestDescriptorRangeSizes,
- _In_ UINT NumSrcDescriptorRanges,
- _In_reads_(NumSrcDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pSrcDescriptorRangeStarts,
- _In_reads_opt_(NumSrcDescriptorRanges) const UINT *pSrcDescriptorRangeSizes,
- _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CopyDescriptorsSimple)
- void ( STDMETHODCALLTYPE *CopyDescriptorsSimple )(
- ID3D12Device3 * This,
- _In_ UINT NumDescriptors,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptorRangeStart,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE SrcDescriptorRangeStart,
- _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetResourceAllocationInfo)
- #if !defined(_WIN32)
- D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo )(
- ID3D12Device3 * This,
- _In_ UINT visibleMask,
- _In_ UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs);
-
- #else
- D3D12_RESOURCE_ALLOCATION_INFO *( STDMETHODCALLTYPE *GetResourceAllocationInfo )(
- ID3D12Device3 * This,
- D3D12_RESOURCE_ALLOCATION_INFO * RetVal,
- _In_ UINT visibleMask,
- _In_ UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs);
-
- #endif
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetCustomHeapProperties)
- #if !defined(_WIN32)
- D3D12_HEAP_PROPERTIES ( STDMETHODCALLTYPE *GetCustomHeapProperties )(
- ID3D12Device3 * This,
- _In_ UINT nodeMask,
- D3D12_HEAP_TYPE heapType);
-
- #else
- D3D12_HEAP_PROPERTIES *( STDMETHODCALLTYPE *GetCustomHeapProperties )(
- ID3D12Device3 * This,
- D3D12_HEAP_PROPERTIES * RetVal,
- _In_ UINT nodeMask,
- D3D12_HEAP_TYPE heapType);
-
- #endif
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommittedResource)
- HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource )(
- ID3D12Device3 * This,
- _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties,
- D3D12_HEAP_FLAGS HeapFlags,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialResourceState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- REFIID riidResource,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateHeap)
- HRESULT ( STDMETHODCALLTYPE *CreateHeap )(
- ID3D12Device3 * This,
- _In_ const D3D12_HEAP_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreatePlacedResource)
- HRESULT ( STDMETHODCALLTYPE *CreatePlacedResource )(
- ID3D12Device3 * This,
- _In_ ID3D12Heap *pHeap,
- UINT64 HeapOffset,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateReservedResource)
- HRESULT ( STDMETHODCALLTYPE *CreateReservedResource )(
- ID3D12Device3 * This,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateSharedHandle)
- HRESULT ( STDMETHODCALLTYPE *CreateSharedHandle )(
- ID3D12Device3 * This,
- _In_ ID3D12DeviceChild *pObject,
- _In_opt_ const SECURITY_ATTRIBUTES *pAttributes,
- DWORD Access,
- _In_opt_ LPCWSTR Name,
- _Out_ HANDLE *pHandle);
-
- DECLSPEC_XFGVIRT(ID3D12Device, OpenSharedHandle)
- HRESULT ( STDMETHODCALLTYPE *OpenSharedHandle )(
- ID3D12Device3 * This,
- _In_ HANDLE NTHandle,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvObj);
-
- DECLSPEC_XFGVIRT(ID3D12Device, OpenSharedHandleByName)
- HRESULT ( STDMETHODCALLTYPE *OpenSharedHandleByName )(
- ID3D12Device3 * This,
- _In_ LPCWSTR Name,
- DWORD Access,
- /* [annotation][out] */
- _Out_ HANDLE *pNTHandle);
-
- DECLSPEC_XFGVIRT(ID3D12Device, MakeResident)
- HRESULT ( STDMETHODCALLTYPE *MakeResident )(
- ID3D12Device3 * This,
- UINT NumObjects,
- _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects);
-
- DECLSPEC_XFGVIRT(ID3D12Device, Evict)
- HRESULT ( STDMETHODCALLTYPE *Evict )(
- ID3D12Device3 * This,
- UINT NumObjects,
- _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateFence)
- HRESULT ( STDMETHODCALLTYPE *CreateFence )(
- ID3D12Device3 * This,
- UINT64 InitialValue,
- D3D12_FENCE_FLAGS Flags,
- REFIID riid,
- _COM_Outptr_ void **ppFence);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetDeviceRemovedReason)
- HRESULT ( STDMETHODCALLTYPE *GetDeviceRemovedReason )(
- ID3D12Device3 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetCopyableFootprints)
- void ( STDMETHODCALLTYPE *GetCopyableFootprints )(
- ID3D12Device3 * This,
- _In_ const D3D12_RESOURCE_DESC *pResourceDesc,
- _In_range_(0,D3D12_REQ_SUBRESOURCES) UINT FirstSubresource,
- _In_range_(0,D3D12_REQ_SUBRESOURCES-FirstSubresource) UINT NumSubresources,
- UINT64 BaseOffset,
- _Out_writes_opt_(NumSubresources) D3D12_PLACED_SUBRESOURCE_FOOTPRINT *pLayouts,
- _Out_writes_opt_(NumSubresources) UINT *pNumRows,
- _Out_writes_opt_(NumSubresources) UINT64 *pRowSizeInBytes,
- _Out_opt_ UINT64 *pTotalBytes);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateQueryHeap)
- HRESULT ( STDMETHODCALLTYPE *CreateQueryHeap )(
- ID3D12Device3 * This,
- _In_ const D3D12_QUERY_HEAP_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device, SetStablePowerState)
- HRESULT ( STDMETHODCALLTYPE *SetStablePowerState )(
- ID3D12Device3 * This,
- BOOL Enable);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandSignature)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandSignature )(
- ID3D12Device3 * This,
- _In_ const D3D12_COMMAND_SIGNATURE_DESC *pDesc,
- _In_opt_ ID3D12RootSignature *pRootSignature,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvCommandSignature);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetResourceTiling)
- void ( STDMETHODCALLTYPE *GetResourceTiling )(
- ID3D12Device3 * This,
- _In_ ID3D12Resource *pTiledResource,
- _Out_opt_ UINT *pNumTilesForEntireResource,
- _Out_opt_ D3D12_PACKED_MIP_INFO *pPackedMipDesc,
- _Out_opt_ D3D12_TILE_SHAPE *pStandardTileShapeForNonPackedMips,
- _Inout_opt_ UINT *pNumSubresourceTilings,
- _In_ UINT FirstSubresourceTilingToGet,
- _Out_writes_(*pNumSubresourceTilings) D3D12_SUBRESOURCE_TILING *pSubresourceTilingsForNonPackedMips);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetAdapterLuid)
- #if !defined(_WIN32)
- LUID ( STDMETHODCALLTYPE *GetAdapterLuid )(
- ID3D12Device3 * This);
-
- #else
- LUID *( STDMETHODCALLTYPE *GetAdapterLuid )(
- ID3D12Device3 * This,
- LUID * RetVal);
-
- #endif
-
- DECLSPEC_XFGVIRT(ID3D12Device1, CreatePipelineLibrary)
- HRESULT ( STDMETHODCALLTYPE *CreatePipelineLibrary )(
- ID3D12Device3 * This,
- _In_reads_(BlobLength) const void *pLibraryBlob,
- SIZE_T BlobLength,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineLibrary);
-
- DECLSPEC_XFGVIRT(ID3D12Device1, SetEventOnMultipleFenceCompletion)
- HRESULT ( STDMETHODCALLTYPE *SetEventOnMultipleFenceCompletion )(
- ID3D12Device3 * This,
- _In_reads_(NumFences) ID3D12Fence *const *ppFences,
- _In_reads_(NumFences) const UINT64 *pFenceValues,
- UINT NumFences,
- D3D12_MULTIPLE_FENCE_WAIT_FLAGS Flags,
- HANDLE hEvent);
-
- DECLSPEC_XFGVIRT(ID3D12Device1, SetResidencyPriority)
- HRESULT ( STDMETHODCALLTYPE *SetResidencyPriority )(
- ID3D12Device3 * This,
- UINT NumObjects,
- _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects,
- _In_reads_(NumObjects) const D3D12_RESIDENCY_PRIORITY *pPriorities);
-
- DECLSPEC_XFGVIRT(ID3D12Device2, CreatePipelineState)
- HRESULT ( STDMETHODCALLTYPE *CreatePipelineState )(
- ID3D12Device3 * This,
- const D3D12_PIPELINE_STATE_STREAM_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineState);
-
- DECLSPEC_XFGVIRT(ID3D12Device3, OpenExistingHeapFromAddress)
- HRESULT ( STDMETHODCALLTYPE *OpenExistingHeapFromAddress )(
- ID3D12Device3 * This,
- _In_ const void *pAddress,
- REFIID riid,
- _COM_Outptr_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device3, OpenExistingHeapFromFileMapping)
- HRESULT ( STDMETHODCALLTYPE *OpenExistingHeapFromFileMapping )(
- ID3D12Device3 * This,
- _In_ HANDLE hFileMapping,
- REFIID riid,
- _COM_Outptr_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device3, EnqueueMakeResident)
- HRESULT ( STDMETHODCALLTYPE *EnqueueMakeResident )(
- ID3D12Device3 * This,
- D3D12_RESIDENCY_FLAGS Flags,
- UINT NumObjects,
- _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects,
- _In_ ID3D12Fence *pFenceToSignal,
- UINT64 FenceValueToSignal);
-
- END_INTERFACE
- } ID3D12Device3Vtbl;
- interface ID3D12Device3
- {
- CONST_VTBL struct ID3D12Device3Vtbl *lpVtbl;
- };
-
- #ifdef COBJMACROS
- #define ID3D12Device3_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define ID3D12Device3_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define ID3D12Device3_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #define ID3D12Device3_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
- #define ID3D12Device3_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
- #define ID3D12Device3_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
- #define ID3D12Device3_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
- #define ID3D12Device3_GetNodeCount(This) \
- ( (This)->lpVtbl -> GetNodeCount(This) )
- #define ID3D12Device3_CreateCommandQueue(This,pDesc,riid,ppCommandQueue) \
- ( (This)->lpVtbl -> CreateCommandQueue(This,pDesc,riid,ppCommandQueue) )
- #define ID3D12Device3_CreateCommandAllocator(This,type,riid,ppCommandAllocator) \
- ( (This)->lpVtbl -> CreateCommandAllocator(This,type,riid,ppCommandAllocator) )
- #define ID3D12Device3_CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) \
- ( (This)->lpVtbl -> CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) )
- #define ID3D12Device3_CreateComputePipelineState(This,pDesc,riid,ppPipelineState) \
- ( (This)->lpVtbl -> CreateComputePipelineState(This,pDesc,riid,ppPipelineState) )
- #define ID3D12Device3_CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) \
- ( (This)->lpVtbl -> CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) )
- #define ID3D12Device3_CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) \
- ( (This)->lpVtbl -> CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) )
- #define ID3D12Device3_CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) \
- ( (This)->lpVtbl -> CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) )
- #define ID3D12Device3_GetDescriptorHandleIncrementSize(This,DescriptorHeapType) \
- ( (This)->lpVtbl -> GetDescriptorHandleIncrementSize(This,DescriptorHeapType) )
- #define ID3D12Device3_CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) \
- ( (This)->lpVtbl -> CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) )
- #define ID3D12Device3_CreateConstantBufferView(This,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateConstantBufferView(This,pDesc,DestDescriptor) )
- #define ID3D12Device3_CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) )
- #define ID3D12Device3_CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) )
- #define ID3D12Device3_CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) )
- #define ID3D12Device3_CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) )
- #define ID3D12Device3_CreateSampler(This,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateSampler(This,pDesc,DestDescriptor) )
- #define ID3D12Device3_CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) \
- ( (This)->lpVtbl -> CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) )
- #define ID3D12Device3_CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) \
- ( (This)->lpVtbl -> CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) )
- #if !defined(_WIN32)
- #define ID3D12Device3_GetResourceAllocationInfo(This,visibleMask,numResourceDescs,pResourceDescs) \
- ( (This)->lpVtbl -> GetResourceAllocationInfo(This,visibleMask,numResourceDescs,pResourceDescs) )
- #else
- #define ID3D12Device3_GetResourceAllocationInfo(This,RetVal,visibleMask,numResourceDescs,pResourceDescs) \
- ( (This)->lpVtbl -> GetResourceAllocationInfo(This,RetVal,visibleMask,numResourceDescs,pResourceDescs) )
- #endif
- #if !defined(_WIN32)
- #define ID3D12Device3_GetCustomHeapProperties(This,nodeMask,heapType) \
- ( (This)->lpVtbl -> GetCustomHeapProperties(This,nodeMask,heapType) )
- #else
- #define ID3D12Device3_GetCustomHeapProperties(This,RetVal,nodeMask,heapType) \
- ( (This)->lpVtbl -> GetCustomHeapProperties(This,RetVal,nodeMask,heapType) )
- #endif
- #define ID3D12Device3_CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) \
- ( (This)->lpVtbl -> CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) )
- #define ID3D12Device3_CreateHeap(This,pDesc,riid,ppvHeap) \
- ( (This)->lpVtbl -> CreateHeap(This,pDesc,riid,ppvHeap) )
- #define ID3D12Device3_CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
- ( (This)->lpVtbl -> CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
- #define ID3D12Device3_CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
- ( (This)->lpVtbl -> CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
- #define ID3D12Device3_CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) \
- ( (This)->lpVtbl -> CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) )
- #define ID3D12Device3_OpenSharedHandle(This,NTHandle,riid,ppvObj) \
- ( (This)->lpVtbl -> OpenSharedHandle(This,NTHandle,riid,ppvObj) )
- #define ID3D12Device3_OpenSharedHandleByName(This,Name,Access,pNTHandle) \
- ( (This)->lpVtbl -> OpenSharedHandleByName(This,Name,Access,pNTHandle) )
- #define ID3D12Device3_MakeResident(This,NumObjects,ppObjects) \
- ( (This)->lpVtbl -> MakeResident(This,NumObjects,ppObjects) )
- #define ID3D12Device3_Evict(This,NumObjects,ppObjects) \
- ( (This)->lpVtbl -> Evict(This,NumObjects,ppObjects) )
- #define ID3D12Device3_CreateFence(This,InitialValue,Flags,riid,ppFence) \
- ( (This)->lpVtbl -> CreateFence(This,InitialValue,Flags,riid,ppFence) )
- #define ID3D12Device3_GetDeviceRemovedReason(This) \
- ( (This)->lpVtbl -> GetDeviceRemovedReason(This) )
- #define ID3D12Device3_GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) \
- ( (This)->lpVtbl -> GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) )
- #define ID3D12Device3_CreateQueryHeap(This,pDesc,riid,ppvHeap) \
- ( (This)->lpVtbl -> CreateQueryHeap(This,pDesc,riid,ppvHeap) )
- #define ID3D12Device3_SetStablePowerState(This,Enable) \
- ( (This)->lpVtbl -> SetStablePowerState(This,Enable) )
- #define ID3D12Device3_CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) \
- ( (This)->lpVtbl -> CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) )
- #define ID3D12Device3_GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) \
- ( (This)->lpVtbl -> GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) )
- #if !defined(_WIN32)
- #define ID3D12Device3_GetAdapterLuid(This) \
- ( (This)->lpVtbl -> GetAdapterLuid(This) )
- #else
- #define ID3D12Device3_GetAdapterLuid(This,RetVal) \
- ( (This)->lpVtbl -> GetAdapterLuid(This,RetVal) )
- #endif
- #define ID3D12Device3_CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) \
- ( (This)->lpVtbl -> CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) )
- #define ID3D12Device3_SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) \
- ( (This)->lpVtbl -> SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) )
- #define ID3D12Device3_SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) \
- ( (This)->lpVtbl -> SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) )
- #define ID3D12Device3_CreatePipelineState(This,pDesc,riid,ppPipelineState) \
- ( (This)->lpVtbl -> CreatePipelineState(This,pDesc,riid,ppPipelineState) )
- #define ID3D12Device3_OpenExistingHeapFromAddress(This,pAddress,riid,ppvHeap) \
- ( (This)->lpVtbl -> OpenExistingHeapFromAddress(This,pAddress,riid,ppvHeap) )
- #define ID3D12Device3_OpenExistingHeapFromFileMapping(This,hFileMapping,riid,ppvHeap) \
- ( (This)->lpVtbl -> OpenExistingHeapFromFileMapping(This,hFileMapping,riid,ppvHeap) )
- #define ID3D12Device3_EnqueueMakeResident(This,Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) \
- ( (This)->lpVtbl -> EnqueueMakeResident(This,Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) )
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __ID3D12Device3_INTERFACE_DEFINED__ */
- /* interface __MIDL_itf_d3d12_0000_0026 */
- /* [local] */
- typedef
- enum D3D12_COMMAND_LIST_FLAGS
- {
- D3D12_COMMAND_LIST_FLAG_NONE = 0
- } D3D12_COMMAND_LIST_FLAGS;
- DEFINE_ENUM_FLAG_OPERATORS( D3D12_COMMAND_LIST_FLAGS );
- typedef
- enum D3D12_COMMAND_POOL_FLAGS
- {
- D3D12_COMMAND_POOL_FLAG_NONE = 0
- } D3D12_COMMAND_POOL_FLAGS;
- DEFINE_ENUM_FLAG_OPERATORS( D3D12_COMMAND_POOL_FLAGS );
- typedef
- enum D3D12_COMMAND_RECORDER_FLAGS
- {
- D3D12_COMMAND_RECORDER_FLAG_NONE = 0
- } D3D12_COMMAND_RECORDER_FLAGS;
- DEFINE_ENUM_FLAG_OPERATORS( D3D12_COMMAND_RECORDER_FLAGS );
- typedef
- enum D3D12_PROTECTED_SESSION_STATUS
- {
- D3D12_PROTECTED_SESSION_STATUS_OK = 0,
- D3D12_PROTECTED_SESSION_STATUS_INVALID = 1
- } D3D12_PROTECTED_SESSION_STATUS;
- extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0026_v0_0_c_ifspec;
- extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0026_v0_0_s_ifspec;
- #ifndef __ID3D12ProtectedSession_INTERFACE_DEFINED__
- #define __ID3D12ProtectedSession_INTERFACE_DEFINED__
- /* interface ID3D12ProtectedSession */
- /* [unique][local][object][uuid] */
- EXTERN_C const IID IID_ID3D12ProtectedSession;
- #if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("A1533D18-0AC1-4084-85B9-89A96116806B")
- ID3D12ProtectedSession : public ID3D12DeviceChild
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE GetStatusFence(
- REFIID riid,
- _COM_Outptr_opt_ void **ppFence) = 0;
-
- virtual D3D12_PROTECTED_SESSION_STATUS STDMETHODCALLTYPE GetSessionStatus( void) = 0;
-
- };
-
-
- #else /* C style interface */
- typedef struct ID3D12ProtectedSessionVtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12ProtectedSession * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12ProtectedSession * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12ProtectedSession * This);
-
- DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12ProtectedSession * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12ProtectedSession * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12ProtectedSession * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetName)
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12ProtectedSession * This,
- _In_z_ LPCWSTR Name);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice)
- HRESULT ( STDMETHODCALLTYPE *GetDevice )(
- ID3D12ProtectedSession * This,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvDevice);
-
- DECLSPEC_XFGVIRT(ID3D12ProtectedSession, GetStatusFence)
- HRESULT ( STDMETHODCALLTYPE *GetStatusFence )(
- ID3D12ProtectedSession * This,
- REFIID riid,
- _COM_Outptr_opt_ void **ppFence);
-
- DECLSPEC_XFGVIRT(ID3D12ProtectedSession, GetSessionStatus)
- D3D12_PROTECTED_SESSION_STATUS ( STDMETHODCALLTYPE *GetSessionStatus )(
- ID3D12ProtectedSession * This);
-
- END_INTERFACE
- } ID3D12ProtectedSessionVtbl;
- interface ID3D12ProtectedSession
- {
- CONST_VTBL struct ID3D12ProtectedSessionVtbl *lpVtbl;
- };
-
- #ifdef COBJMACROS
- #define ID3D12ProtectedSession_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define ID3D12ProtectedSession_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define ID3D12ProtectedSession_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #define ID3D12ProtectedSession_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
- #define ID3D12ProtectedSession_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
- #define ID3D12ProtectedSession_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
- #define ID3D12ProtectedSession_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
- #define ID3D12ProtectedSession_GetDevice(This,riid,ppvDevice) \
- ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
- #define ID3D12ProtectedSession_GetStatusFence(This,riid,ppFence) \
- ( (This)->lpVtbl -> GetStatusFence(This,riid,ppFence) )
- #define ID3D12ProtectedSession_GetSessionStatus(This) \
- ( (This)->lpVtbl -> GetSessionStatus(This) )
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __ID3D12ProtectedSession_INTERFACE_DEFINED__ */
- /* interface __MIDL_itf_d3d12_0000_0027 */
- /* [local] */
- typedef
- enum D3D12_PROTECTED_RESOURCE_SESSION_SUPPORT_FLAGS
- {
- D3D12_PROTECTED_RESOURCE_SESSION_SUPPORT_FLAG_NONE = 0,
- D3D12_PROTECTED_RESOURCE_SESSION_SUPPORT_FLAG_SUPPORTED = 0x1
- } D3D12_PROTECTED_RESOURCE_SESSION_SUPPORT_FLAGS;
- DEFINE_ENUM_FLAG_OPERATORS( D3D12_PROTECTED_RESOURCE_SESSION_SUPPORT_FLAGS );
- typedef struct D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_SUPPORT
- {
- UINT NodeIndex;
- D3D12_PROTECTED_RESOURCE_SESSION_SUPPORT_FLAGS Support;
- } D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_SUPPORT;
- typedef
- enum D3D12_PROTECTED_RESOURCE_SESSION_FLAGS
- {
- D3D12_PROTECTED_RESOURCE_SESSION_FLAG_NONE = 0
- } D3D12_PROTECTED_RESOURCE_SESSION_FLAGS;
- DEFINE_ENUM_FLAG_OPERATORS( D3D12_PROTECTED_RESOURCE_SESSION_FLAGS );
- typedef struct D3D12_PROTECTED_RESOURCE_SESSION_DESC
- {
- UINT NodeMask;
- D3D12_PROTECTED_RESOURCE_SESSION_FLAGS Flags;
- } D3D12_PROTECTED_RESOURCE_SESSION_DESC;
- extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0027_v0_0_c_ifspec;
- extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0027_v0_0_s_ifspec;
- #ifndef __ID3D12ProtectedResourceSession_INTERFACE_DEFINED__
- #define __ID3D12ProtectedResourceSession_INTERFACE_DEFINED__
- /* interface ID3D12ProtectedResourceSession */
- /* [unique][local][object][uuid] */
- EXTERN_C const IID IID_ID3D12ProtectedResourceSession;
- #if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("6CD696F4-F289-40CC-8091-5A6C0A099C3D")
- ID3D12ProtectedResourceSession : public ID3D12ProtectedSession
- {
- public:
- #if defined(_MSC_VER) || !defined(_WIN32)
- virtual D3D12_PROTECTED_RESOURCE_SESSION_DESC STDMETHODCALLTYPE GetDesc( void) = 0;
- #else
- virtual D3D12_PROTECTED_RESOURCE_SESSION_DESC *STDMETHODCALLTYPE GetDesc(
- D3D12_PROTECTED_RESOURCE_SESSION_DESC * RetVal) = 0;
- #endif
-
- };
-
-
- #else /* C style interface */
- typedef struct ID3D12ProtectedResourceSessionVtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12ProtectedResourceSession * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12ProtectedResourceSession * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12ProtectedResourceSession * This);
-
- DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12ProtectedResourceSession * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12ProtectedResourceSession * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12ProtectedResourceSession * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetName)
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12ProtectedResourceSession * This,
- _In_z_ LPCWSTR Name);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice)
- HRESULT ( STDMETHODCALLTYPE *GetDevice )(
- ID3D12ProtectedResourceSession * This,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvDevice);
-
- DECLSPEC_XFGVIRT(ID3D12ProtectedSession, GetStatusFence)
- HRESULT ( STDMETHODCALLTYPE *GetStatusFence )(
- ID3D12ProtectedResourceSession * This,
- REFIID riid,
- _COM_Outptr_opt_ void **ppFence);
-
- DECLSPEC_XFGVIRT(ID3D12ProtectedSession, GetSessionStatus)
- D3D12_PROTECTED_SESSION_STATUS ( STDMETHODCALLTYPE *GetSessionStatus )(
- ID3D12ProtectedResourceSession * This);
-
- DECLSPEC_XFGVIRT(ID3D12ProtectedResourceSession, GetDesc)
- #if !defined(_WIN32)
- D3D12_PROTECTED_RESOURCE_SESSION_DESC ( STDMETHODCALLTYPE *GetDesc )(
- ID3D12ProtectedResourceSession * This);
-
- #else
- D3D12_PROTECTED_RESOURCE_SESSION_DESC *( STDMETHODCALLTYPE *GetDesc )(
- ID3D12ProtectedResourceSession * This,
- D3D12_PROTECTED_RESOURCE_SESSION_DESC * RetVal);
-
- #endif
-
- END_INTERFACE
- } ID3D12ProtectedResourceSessionVtbl;
- interface ID3D12ProtectedResourceSession
- {
- CONST_VTBL struct ID3D12ProtectedResourceSessionVtbl *lpVtbl;
- };
-
- #ifdef COBJMACROS
- #define ID3D12ProtectedResourceSession_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define ID3D12ProtectedResourceSession_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define ID3D12ProtectedResourceSession_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #define ID3D12ProtectedResourceSession_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
- #define ID3D12ProtectedResourceSession_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
- #define ID3D12ProtectedResourceSession_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
- #define ID3D12ProtectedResourceSession_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
- #define ID3D12ProtectedResourceSession_GetDevice(This,riid,ppvDevice) \
- ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
- #define ID3D12ProtectedResourceSession_GetStatusFence(This,riid,ppFence) \
- ( (This)->lpVtbl -> GetStatusFence(This,riid,ppFence) )
- #define ID3D12ProtectedResourceSession_GetSessionStatus(This) \
- ( (This)->lpVtbl -> GetSessionStatus(This) )
- #if !defined(_WIN32)
- #define ID3D12ProtectedResourceSession_GetDesc(This) \
- ( (This)->lpVtbl -> GetDesc(This) )
- #else
- #define ID3D12ProtectedResourceSession_GetDesc(This,RetVal) \
- ( (This)->lpVtbl -> GetDesc(This,RetVal) )
- #endif
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __ID3D12ProtectedResourceSession_INTERFACE_DEFINED__ */
- #ifndef __ID3D12Device4_INTERFACE_DEFINED__
- #define __ID3D12Device4_INTERFACE_DEFINED__
- /* interface ID3D12Device4 */
- /* [unique][local][object][uuid] */
- EXTERN_C const IID IID_ID3D12Device4;
- #if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("e865df17-a9ee-46f9-a463-3098315aa2e5")
- ID3D12Device4 : public ID3D12Device3
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE CreateCommandList1(
- _In_ UINT nodeMask,
- _In_ D3D12_COMMAND_LIST_TYPE type,
- _In_ D3D12_COMMAND_LIST_FLAGS flags,
- REFIID riid,
- _COM_Outptr_ void **ppCommandList) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE CreateProtectedResourceSession(
- _In_ const D3D12_PROTECTED_RESOURCE_SESSION_DESC *pDesc,
- _In_ REFIID riid,
- _COM_Outptr_ void **ppSession) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE CreateCommittedResource1(
- _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties,
- D3D12_HEAP_FLAGS HeapFlags,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialResourceState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
- REFIID riidResource,
- _COM_Outptr_opt_ void **ppvResource) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE CreateHeap1(
- _In_ const D3D12_HEAP_DESC *pDesc,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvHeap) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE CreateReservedResource1(
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvResource) = 0;
-
- #if defined(_MSC_VER) || !defined(_WIN32)
- virtual D3D12_RESOURCE_ALLOCATION_INFO STDMETHODCALLTYPE GetResourceAllocationInfo1(
- UINT visibleMask,
- UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs,
- _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1) = 0;
- #else
- virtual D3D12_RESOURCE_ALLOCATION_INFO *STDMETHODCALLTYPE GetResourceAllocationInfo1(
- D3D12_RESOURCE_ALLOCATION_INFO * RetVal,
- UINT visibleMask,
- UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs,
- _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1) = 0;
- #endif
-
- };
-
-
- #else /* C style interface */
- typedef struct ID3D12Device4Vtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12Device4 * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12Device4 * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12Device4 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12Device4 * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12Device4 * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12Device4 * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetName)
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12Device4 * This,
- _In_z_ LPCWSTR Name);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetNodeCount)
- UINT ( STDMETHODCALLTYPE *GetNodeCount )(
- ID3D12Device4 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandQueue)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandQueue )(
- ID3D12Device4 * This,
- _In_ const D3D12_COMMAND_QUEUE_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppCommandQueue);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandAllocator)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandAllocator )(
- ID3D12Device4 * This,
- _In_ D3D12_COMMAND_LIST_TYPE type,
- REFIID riid,
- _COM_Outptr_ void **ppCommandAllocator);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateGraphicsPipelineState)
- HRESULT ( STDMETHODCALLTYPE *CreateGraphicsPipelineState )(
- ID3D12Device4 * This,
- _In_ const D3D12_GRAPHICS_PIPELINE_STATE_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineState);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateComputePipelineState)
- HRESULT ( STDMETHODCALLTYPE *CreateComputePipelineState )(
- ID3D12Device4 * This,
- _In_ const D3D12_COMPUTE_PIPELINE_STATE_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineState);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandList)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandList )(
- ID3D12Device4 * This,
- _In_ UINT nodeMask,
- _In_ D3D12_COMMAND_LIST_TYPE type,
- _In_ ID3D12CommandAllocator *pCommandAllocator,
- _In_opt_ ID3D12PipelineState *pInitialState,
- REFIID riid,
- _COM_Outptr_ void **ppCommandList);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CheckFeatureSupport)
- HRESULT ( STDMETHODCALLTYPE *CheckFeatureSupport )(
- ID3D12Device4 * This,
- D3D12_FEATURE Feature,
- _Inout_updates_bytes_(FeatureSupportDataSize) void *pFeatureSupportData,
- UINT FeatureSupportDataSize);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateDescriptorHeap)
- HRESULT ( STDMETHODCALLTYPE *CreateDescriptorHeap )(
- ID3D12Device4 * This,
- _In_ const D3D12_DESCRIPTOR_HEAP_DESC *pDescriptorHeapDesc,
- REFIID riid,
- _COM_Outptr_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetDescriptorHandleIncrementSize)
- UINT ( STDMETHODCALLTYPE *GetDescriptorHandleIncrementSize )(
- ID3D12Device4 * This,
- _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapType);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateRootSignature)
- HRESULT ( STDMETHODCALLTYPE *CreateRootSignature )(
- ID3D12Device4 * This,
- _In_ UINT nodeMask,
- _In_reads_(blobLengthInBytes) const void *pBlobWithRootSignature,
- _In_ SIZE_T blobLengthInBytes,
- REFIID riid,
- _COM_Outptr_ void **ppvRootSignature);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateConstantBufferView)
- void ( STDMETHODCALLTYPE *CreateConstantBufferView )(
- ID3D12Device4 * This,
- _In_opt_ const D3D12_CONSTANT_BUFFER_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateShaderResourceView)
- void ( STDMETHODCALLTYPE *CreateShaderResourceView )(
- ID3D12Device4 * This,
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_SHADER_RESOURCE_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateUnorderedAccessView)
- void ( STDMETHODCALLTYPE *CreateUnorderedAccessView )(
- ID3D12Device4 * This,
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ ID3D12Resource *pCounterResource,
- _In_opt_ const D3D12_UNORDERED_ACCESS_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateRenderTargetView)
- void ( STDMETHODCALLTYPE *CreateRenderTargetView )(
- ID3D12Device4 * This,
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_RENDER_TARGET_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateDepthStencilView)
- void ( STDMETHODCALLTYPE *CreateDepthStencilView )(
- ID3D12Device4 * This,
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_DEPTH_STENCIL_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateSampler)
- void ( STDMETHODCALLTYPE *CreateSampler )(
- ID3D12Device4 * This,
- _In_ const D3D12_SAMPLER_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CopyDescriptors)
- void ( STDMETHODCALLTYPE *CopyDescriptors )(
- ID3D12Device4 * This,
- _In_ UINT NumDestDescriptorRanges,
- _In_reads_(NumDestDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pDestDescriptorRangeStarts,
- _In_reads_opt_(NumDestDescriptorRanges) const UINT *pDestDescriptorRangeSizes,
- _In_ UINT NumSrcDescriptorRanges,
- _In_reads_(NumSrcDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pSrcDescriptorRangeStarts,
- _In_reads_opt_(NumSrcDescriptorRanges) const UINT *pSrcDescriptorRangeSizes,
- _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CopyDescriptorsSimple)
- void ( STDMETHODCALLTYPE *CopyDescriptorsSimple )(
- ID3D12Device4 * This,
- _In_ UINT NumDescriptors,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptorRangeStart,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE SrcDescriptorRangeStart,
- _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetResourceAllocationInfo)
- #if !defined(_WIN32)
- D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo )(
- ID3D12Device4 * This,
- _In_ UINT visibleMask,
- _In_ UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs);
-
- #else
- D3D12_RESOURCE_ALLOCATION_INFO *( STDMETHODCALLTYPE *GetResourceAllocationInfo )(
- ID3D12Device4 * This,
- D3D12_RESOURCE_ALLOCATION_INFO * RetVal,
- _In_ UINT visibleMask,
- _In_ UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs);
-
- #endif
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetCustomHeapProperties)
- #if !defined(_WIN32)
- D3D12_HEAP_PROPERTIES ( STDMETHODCALLTYPE *GetCustomHeapProperties )(
- ID3D12Device4 * This,
- _In_ UINT nodeMask,
- D3D12_HEAP_TYPE heapType);
-
- #else
- D3D12_HEAP_PROPERTIES *( STDMETHODCALLTYPE *GetCustomHeapProperties )(
- ID3D12Device4 * This,
- D3D12_HEAP_PROPERTIES * RetVal,
- _In_ UINT nodeMask,
- D3D12_HEAP_TYPE heapType);
-
- #endif
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommittedResource)
- HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource )(
- ID3D12Device4 * This,
- _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties,
- D3D12_HEAP_FLAGS HeapFlags,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialResourceState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- REFIID riidResource,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateHeap)
- HRESULT ( STDMETHODCALLTYPE *CreateHeap )(
- ID3D12Device4 * This,
- _In_ const D3D12_HEAP_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreatePlacedResource)
- HRESULT ( STDMETHODCALLTYPE *CreatePlacedResource )(
- ID3D12Device4 * This,
- _In_ ID3D12Heap *pHeap,
- UINT64 HeapOffset,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateReservedResource)
- HRESULT ( STDMETHODCALLTYPE *CreateReservedResource )(
- ID3D12Device4 * This,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateSharedHandle)
- HRESULT ( STDMETHODCALLTYPE *CreateSharedHandle )(
- ID3D12Device4 * This,
- _In_ ID3D12DeviceChild *pObject,
- _In_opt_ const SECURITY_ATTRIBUTES *pAttributes,
- DWORD Access,
- _In_opt_ LPCWSTR Name,
- _Out_ HANDLE *pHandle);
-
- DECLSPEC_XFGVIRT(ID3D12Device, OpenSharedHandle)
- HRESULT ( STDMETHODCALLTYPE *OpenSharedHandle )(
- ID3D12Device4 * This,
- _In_ HANDLE NTHandle,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvObj);
-
- DECLSPEC_XFGVIRT(ID3D12Device, OpenSharedHandleByName)
- HRESULT ( STDMETHODCALLTYPE *OpenSharedHandleByName )(
- ID3D12Device4 * This,
- _In_ LPCWSTR Name,
- DWORD Access,
- /* [annotation][out] */
- _Out_ HANDLE *pNTHandle);
-
- DECLSPEC_XFGVIRT(ID3D12Device, MakeResident)
- HRESULT ( STDMETHODCALLTYPE *MakeResident )(
- ID3D12Device4 * This,
- UINT NumObjects,
- _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects);
-
- DECLSPEC_XFGVIRT(ID3D12Device, Evict)
- HRESULT ( STDMETHODCALLTYPE *Evict )(
- ID3D12Device4 * This,
- UINT NumObjects,
- _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateFence)
- HRESULT ( STDMETHODCALLTYPE *CreateFence )(
- ID3D12Device4 * This,
- UINT64 InitialValue,
- D3D12_FENCE_FLAGS Flags,
- REFIID riid,
- _COM_Outptr_ void **ppFence);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetDeviceRemovedReason)
- HRESULT ( STDMETHODCALLTYPE *GetDeviceRemovedReason )(
- ID3D12Device4 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetCopyableFootprints)
- void ( STDMETHODCALLTYPE *GetCopyableFootprints )(
- ID3D12Device4 * This,
- _In_ const D3D12_RESOURCE_DESC *pResourceDesc,
- _In_range_(0,D3D12_REQ_SUBRESOURCES) UINT FirstSubresource,
- _In_range_(0,D3D12_REQ_SUBRESOURCES-FirstSubresource) UINT NumSubresources,
- UINT64 BaseOffset,
- _Out_writes_opt_(NumSubresources) D3D12_PLACED_SUBRESOURCE_FOOTPRINT *pLayouts,
- _Out_writes_opt_(NumSubresources) UINT *pNumRows,
- _Out_writes_opt_(NumSubresources) UINT64 *pRowSizeInBytes,
- _Out_opt_ UINT64 *pTotalBytes);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateQueryHeap)
- HRESULT ( STDMETHODCALLTYPE *CreateQueryHeap )(
- ID3D12Device4 * This,
- _In_ const D3D12_QUERY_HEAP_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device, SetStablePowerState)
- HRESULT ( STDMETHODCALLTYPE *SetStablePowerState )(
- ID3D12Device4 * This,
- BOOL Enable);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandSignature)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandSignature )(
- ID3D12Device4 * This,
- _In_ const D3D12_COMMAND_SIGNATURE_DESC *pDesc,
- _In_opt_ ID3D12RootSignature *pRootSignature,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvCommandSignature);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetResourceTiling)
- void ( STDMETHODCALLTYPE *GetResourceTiling )(
- ID3D12Device4 * This,
- _In_ ID3D12Resource *pTiledResource,
- _Out_opt_ UINT *pNumTilesForEntireResource,
- _Out_opt_ D3D12_PACKED_MIP_INFO *pPackedMipDesc,
- _Out_opt_ D3D12_TILE_SHAPE *pStandardTileShapeForNonPackedMips,
- _Inout_opt_ UINT *pNumSubresourceTilings,
- _In_ UINT FirstSubresourceTilingToGet,
- _Out_writes_(*pNumSubresourceTilings) D3D12_SUBRESOURCE_TILING *pSubresourceTilingsForNonPackedMips);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetAdapterLuid)
- #if !defined(_WIN32)
- LUID ( STDMETHODCALLTYPE *GetAdapterLuid )(
- ID3D12Device4 * This);
-
- #else
- LUID *( STDMETHODCALLTYPE *GetAdapterLuid )(
- ID3D12Device4 * This,
- LUID * RetVal);
-
- #endif
-
- DECLSPEC_XFGVIRT(ID3D12Device1, CreatePipelineLibrary)
- HRESULT ( STDMETHODCALLTYPE *CreatePipelineLibrary )(
- ID3D12Device4 * This,
- _In_reads_(BlobLength) const void *pLibraryBlob,
- SIZE_T BlobLength,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineLibrary);
-
- DECLSPEC_XFGVIRT(ID3D12Device1, SetEventOnMultipleFenceCompletion)
- HRESULT ( STDMETHODCALLTYPE *SetEventOnMultipleFenceCompletion )(
- ID3D12Device4 * This,
- _In_reads_(NumFences) ID3D12Fence *const *ppFences,
- _In_reads_(NumFences) const UINT64 *pFenceValues,
- UINT NumFences,
- D3D12_MULTIPLE_FENCE_WAIT_FLAGS Flags,
- HANDLE hEvent);
-
- DECLSPEC_XFGVIRT(ID3D12Device1, SetResidencyPriority)
- HRESULT ( STDMETHODCALLTYPE *SetResidencyPriority )(
- ID3D12Device4 * This,
- UINT NumObjects,
- _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects,
- _In_reads_(NumObjects) const D3D12_RESIDENCY_PRIORITY *pPriorities);
-
- DECLSPEC_XFGVIRT(ID3D12Device2, CreatePipelineState)
- HRESULT ( STDMETHODCALLTYPE *CreatePipelineState )(
- ID3D12Device4 * This,
- const D3D12_PIPELINE_STATE_STREAM_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineState);
-
- DECLSPEC_XFGVIRT(ID3D12Device3, OpenExistingHeapFromAddress)
- HRESULT ( STDMETHODCALLTYPE *OpenExistingHeapFromAddress )(
- ID3D12Device4 * This,
- _In_ const void *pAddress,
- REFIID riid,
- _COM_Outptr_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device3, OpenExistingHeapFromFileMapping)
- HRESULT ( STDMETHODCALLTYPE *OpenExistingHeapFromFileMapping )(
- ID3D12Device4 * This,
- _In_ HANDLE hFileMapping,
- REFIID riid,
- _COM_Outptr_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device3, EnqueueMakeResident)
- HRESULT ( STDMETHODCALLTYPE *EnqueueMakeResident )(
- ID3D12Device4 * This,
- D3D12_RESIDENCY_FLAGS Flags,
- UINT NumObjects,
- _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects,
- _In_ ID3D12Fence *pFenceToSignal,
- UINT64 FenceValueToSignal);
-
- DECLSPEC_XFGVIRT(ID3D12Device4, CreateCommandList1)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandList1 )(
- ID3D12Device4 * This,
- _In_ UINT nodeMask,
- _In_ D3D12_COMMAND_LIST_TYPE type,
- _In_ D3D12_COMMAND_LIST_FLAGS flags,
- REFIID riid,
- _COM_Outptr_ void **ppCommandList);
-
- DECLSPEC_XFGVIRT(ID3D12Device4, CreateProtectedResourceSession)
- HRESULT ( STDMETHODCALLTYPE *CreateProtectedResourceSession )(
- ID3D12Device4 * This,
- _In_ const D3D12_PROTECTED_RESOURCE_SESSION_DESC *pDesc,
- _In_ REFIID riid,
- _COM_Outptr_ void **ppSession);
-
- DECLSPEC_XFGVIRT(ID3D12Device4, CreateCommittedResource1)
- HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource1 )(
- ID3D12Device4 * This,
- _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties,
- D3D12_HEAP_FLAGS HeapFlags,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialResourceState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
- REFIID riidResource,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device4, CreateHeap1)
- HRESULT ( STDMETHODCALLTYPE *CreateHeap1 )(
- ID3D12Device4 * This,
- _In_ const D3D12_HEAP_DESC *pDesc,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device4, CreateReservedResource1)
- HRESULT ( STDMETHODCALLTYPE *CreateReservedResource1 )(
- ID3D12Device4 * This,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device4, GetResourceAllocationInfo1)
- #if !defined(_WIN32)
- D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo1 )(
- ID3D12Device4 * This,
- UINT visibleMask,
- UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs,
- _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1);
-
- #else
- D3D12_RESOURCE_ALLOCATION_INFO *( STDMETHODCALLTYPE *GetResourceAllocationInfo1 )(
- ID3D12Device4 * This,
- D3D12_RESOURCE_ALLOCATION_INFO * RetVal,
- UINT visibleMask,
- UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs,
- _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1);
-
- #endif
-
- END_INTERFACE
- } ID3D12Device4Vtbl;
- interface ID3D12Device4
- {
- CONST_VTBL struct ID3D12Device4Vtbl *lpVtbl;
- };
-
- #ifdef COBJMACROS
- #define ID3D12Device4_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define ID3D12Device4_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define ID3D12Device4_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #define ID3D12Device4_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
- #define ID3D12Device4_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
- #define ID3D12Device4_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
- #define ID3D12Device4_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
- #define ID3D12Device4_GetNodeCount(This) \
- ( (This)->lpVtbl -> GetNodeCount(This) )
- #define ID3D12Device4_CreateCommandQueue(This,pDesc,riid,ppCommandQueue) \
- ( (This)->lpVtbl -> CreateCommandQueue(This,pDesc,riid,ppCommandQueue) )
- #define ID3D12Device4_CreateCommandAllocator(This,type,riid,ppCommandAllocator) \
- ( (This)->lpVtbl -> CreateCommandAllocator(This,type,riid,ppCommandAllocator) )
- #define ID3D12Device4_CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) \
- ( (This)->lpVtbl -> CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) )
- #define ID3D12Device4_CreateComputePipelineState(This,pDesc,riid,ppPipelineState) \
- ( (This)->lpVtbl -> CreateComputePipelineState(This,pDesc,riid,ppPipelineState) )
- #define ID3D12Device4_CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) \
- ( (This)->lpVtbl -> CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) )
- #define ID3D12Device4_CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) \
- ( (This)->lpVtbl -> CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) )
- #define ID3D12Device4_CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) \
- ( (This)->lpVtbl -> CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) )
- #define ID3D12Device4_GetDescriptorHandleIncrementSize(This,DescriptorHeapType) \
- ( (This)->lpVtbl -> GetDescriptorHandleIncrementSize(This,DescriptorHeapType) )
- #define ID3D12Device4_CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) \
- ( (This)->lpVtbl -> CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) )
- #define ID3D12Device4_CreateConstantBufferView(This,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateConstantBufferView(This,pDesc,DestDescriptor) )
- #define ID3D12Device4_CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) )
- #define ID3D12Device4_CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) )
- #define ID3D12Device4_CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) )
- #define ID3D12Device4_CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) )
- #define ID3D12Device4_CreateSampler(This,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateSampler(This,pDesc,DestDescriptor) )
- #define ID3D12Device4_CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) \
- ( (This)->lpVtbl -> CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) )
- #define ID3D12Device4_CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) \
- ( (This)->lpVtbl -> CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) )
- #if !defined(_WIN32)
- #define ID3D12Device4_GetResourceAllocationInfo(This,visibleMask,numResourceDescs,pResourceDescs) \
- ( (This)->lpVtbl -> GetResourceAllocationInfo(This,visibleMask,numResourceDescs,pResourceDescs) )
- #else
- #define ID3D12Device4_GetResourceAllocationInfo(This,RetVal,visibleMask,numResourceDescs,pResourceDescs) \
- ( (This)->lpVtbl -> GetResourceAllocationInfo(This,RetVal,visibleMask,numResourceDescs,pResourceDescs) )
- #endif
- #if !defined(_WIN32)
- #define ID3D12Device4_GetCustomHeapProperties(This,nodeMask,heapType) \
- ( (This)->lpVtbl -> GetCustomHeapProperties(This,nodeMask,heapType) )
- #else
- #define ID3D12Device4_GetCustomHeapProperties(This,RetVal,nodeMask,heapType) \
- ( (This)->lpVtbl -> GetCustomHeapProperties(This,RetVal,nodeMask,heapType) )
- #endif
- #define ID3D12Device4_CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) \
- ( (This)->lpVtbl -> CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) )
- #define ID3D12Device4_CreateHeap(This,pDesc,riid,ppvHeap) \
- ( (This)->lpVtbl -> CreateHeap(This,pDesc,riid,ppvHeap) )
- #define ID3D12Device4_CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
- ( (This)->lpVtbl -> CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
- #define ID3D12Device4_CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
- ( (This)->lpVtbl -> CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
- #define ID3D12Device4_CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) \
- ( (This)->lpVtbl -> CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) )
- #define ID3D12Device4_OpenSharedHandle(This,NTHandle,riid,ppvObj) \
- ( (This)->lpVtbl -> OpenSharedHandle(This,NTHandle,riid,ppvObj) )
- #define ID3D12Device4_OpenSharedHandleByName(This,Name,Access,pNTHandle) \
- ( (This)->lpVtbl -> OpenSharedHandleByName(This,Name,Access,pNTHandle) )
- #define ID3D12Device4_MakeResident(This,NumObjects,ppObjects) \
- ( (This)->lpVtbl -> MakeResident(This,NumObjects,ppObjects) )
- #define ID3D12Device4_Evict(This,NumObjects,ppObjects) \
- ( (This)->lpVtbl -> Evict(This,NumObjects,ppObjects) )
- #define ID3D12Device4_CreateFence(This,InitialValue,Flags,riid,ppFence) \
- ( (This)->lpVtbl -> CreateFence(This,InitialValue,Flags,riid,ppFence) )
- #define ID3D12Device4_GetDeviceRemovedReason(This) \
- ( (This)->lpVtbl -> GetDeviceRemovedReason(This) )
- #define ID3D12Device4_GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) \
- ( (This)->lpVtbl -> GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) )
- #define ID3D12Device4_CreateQueryHeap(This,pDesc,riid,ppvHeap) \
- ( (This)->lpVtbl -> CreateQueryHeap(This,pDesc,riid,ppvHeap) )
- #define ID3D12Device4_SetStablePowerState(This,Enable) \
- ( (This)->lpVtbl -> SetStablePowerState(This,Enable) )
- #define ID3D12Device4_CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) \
- ( (This)->lpVtbl -> CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) )
- #define ID3D12Device4_GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) \
- ( (This)->lpVtbl -> GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) )
- #if !defined(_WIN32)
- #define ID3D12Device4_GetAdapterLuid(This) \
- ( (This)->lpVtbl -> GetAdapterLuid(This) )
- #else
- #define ID3D12Device4_GetAdapterLuid(This,RetVal) \
- ( (This)->lpVtbl -> GetAdapterLuid(This,RetVal) )
- #endif
- #define ID3D12Device4_CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) \
- ( (This)->lpVtbl -> CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) )
- #define ID3D12Device4_SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) \
- ( (This)->lpVtbl -> SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) )
- #define ID3D12Device4_SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) \
- ( (This)->lpVtbl -> SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) )
- #define ID3D12Device4_CreatePipelineState(This,pDesc,riid,ppPipelineState) \
- ( (This)->lpVtbl -> CreatePipelineState(This,pDesc,riid,ppPipelineState) )
- #define ID3D12Device4_OpenExistingHeapFromAddress(This,pAddress,riid,ppvHeap) \
- ( (This)->lpVtbl -> OpenExistingHeapFromAddress(This,pAddress,riid,ppvHeap) )
- #define ID3D12Device4_OpenExistingHeapFromFileMapping(This,hFileMapping,riid,ppvHeap) \
- ( (This)->lpVtbl -> OpenExistingHeapFromFileMapping(This,hFileMapping,riid,ppvHeap) )
- #define ID3D12Device4_EnqueueMakeResident(This,Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) \
- ( (This)->lpVtbl -> EnqueueMakeResident(This,Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) )
- #define ID3D12Device4_CreateCommandList1(This,nodeMask,type,flags,riid,ppCommandList) \
- ( (This)->lpVtbl -> CreateCommandList1(This,nodeMask,type,flags,riid,ppCommandList) )
- #define ID3D12Device4_CreateProtectedResourceSession(This,pDesc,riid,ppSession) \
- ( (This)->lpVtbl -> CreateProtectedResourceSession(This,pDesc,riid,ppSession) )
- #define ID3D12Device4_CreateCommittedResource1(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) \
- ( (This)->lpVtbl -> CreateCommittedResource1(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) )
- #define ID3D12Device4_CreateHeap1(This,pDesc,pProtectedSession,riid,ppvHeap) \
- ( (This)->lpVtbl -> CreateHeap1(This,pDesc,pProtectedSession,riid,ppvHeap) )
- #define ID3D12Device4_CreateReservedResource1(This,pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) \
- ( (This)->lpVtbl -> CreateReservedResource1(This,pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) )
- #if !defined(_WIN32)
- #define ID3D12Device4_GetResourceAllocationInfo1(This,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) \
- ( (This)->lpVtbl -> GetResourceAllocationInfo1(This,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) )
- #else
- #define ID3D12Device4_GetResourceAllocationInfo1(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) \
- ( (This)->lpVtbl -> GetResourceAllocationInfo1(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) )
- #endif
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __ID3D12Device4_INTERFACE_DEFINED__ */
- /* interface __MIDL_itf_d3d12_0000_0029 */
- /* [local] */
- typedef
- enum D3D12_LIFETIME_STATE
- {
- D3D12_LIFETIME_STATE_IN_USE = 0,
- D3D12_LIFETIME_STATE_NOT_IN_USE = ( D3D12_LIFETIME_STATE_IN_USE + 1 )
- } D3D12_LIFETIME_STATE;
- extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0029_v0_0_c_ifspec;
- extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0029_v0_0_s_ifspec;
- #ifndef __ID3D12LifetimeOwner_INTERFACE_DEFINED__
- #define __ID3D12LifetimeOwner_INTERFACE_DEFINED__
- /* interface ID3D12LifetimeOwner */
- /* [unique][local][object][uuid] */
- EXTERN_C const IID IID_ID3D12LifetimeOwner;
- #if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("e667af9f-cd56-4f46-83ce-032e595d70a8")
- ID3D12LifetimeOwner : public IUnknown
- {
- public:
- virtual void STDMETHODCALLTYPE LifetimeStateUpdated(
- D3D12_LIFETIME_STATE NewState) = 0;
-
- };
-
-
- #else /* C style interface */
- typedef struct ID3D12LifetimeOwnerVtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12LifetimeOwner * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12LifetimeOwner * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12LifetimeOwner * This);
-
- DECLSPEC_XFGVIRT(ID3D12LifetimeOwner, LifetimeStateUpdated)
- void ( STDMETHODCALLTYPE *LifetimeStateUpdated )(
- ID3D12LifetimeOwner * This,
- D3D12_LIFETIME_STATE NewState);
-
- END_INTERFACE
- } ID3D12LifetimeOwnerVtbl;
- interface ID3D12LifetimeOwner
- {
- CONST_VTBL struct ID3D12LifetimeOwnerVtbl *lpVtbl;
- };
-
- #ifdef COBJMACROS
- #define ID3D12LifetimeOwner_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define ID3D12LifetimeOwner_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define ID3D12LifetimeOwner_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #define ID3D12LifetimeOwner_LifetimeStateUpdated(This,NewState) \
- ( (This)->lpVtbl -> LifetimeStateUpdated(This,NewState) )
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __ID3D12LifetimeOwner_INTERFACE_DEFINED__ */
- #ifndef __ID3D12SwapChainAssistant_INTERFACE_DEFINED__
- #define __ID3D12SwapChainAssistant_INTERFACE_DEFINED__
- /* interface ID3D12SwapChainAssistant */
- /* [unique][local][object][uuid] */
- EXTERN_C const IID IID_ID3D12SwapChainAssistant;
- #if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("f1df64b6-57fd-49cd-8807-c0eb88b45c8f")
- ID3D12SwapChainAssistant : public IUnknown
- {
- public:
- #if defined(_MSC_VER) || !defined(_WIN32)
- virtual LUID STDMETHODCALLTYPE GetLUID( void) = 0;
- #else
- virtual LUID *STDMETHODCALLTYPE GetLUID(
- LUID * RetVal) = 0;
- #endif
-
- virtual HRESULT STDMETHODCALLTYPE GetSwapChainObject(
- REFIID riid,
- _COM_Outptr_ void **ppv) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetCurrentResourceAndCommandQueue(
- REFIID riidResource,
- _COM_Outptr_ void **ppvResource,
- REFIID riidQueue,
- _COM_Outptr_ void **ppvQueue) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE InsertImplicitSync( void) = 0;
-
- };
-
-
- #else /* C style interface */
- typedef struct ID3D12SwapChainAssistantVtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12SwapChainAssistant * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12SwapChainAssistant * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12SwapChainAssistant * This);
-
- DECLSPEC_XFGVIRT(ID3D12SwapChainAssistant, GetLUID)
- #if !defined(_WIN32)
- LUID ( STDMETHODCALLTYPE *GetLUID )(
- ID3D12SwapChainAssistant * This);
-
- #else
- LUID *( STDMETHODCALLTYPE *GetLUID )(
- ID3D12SwapChainAssistant * This,
- LUID * RetVal);
-
- #endif
-
- DECLSPEC_XFGVIRT(ID3D12SwapChainAssistant, GetSwapChainObject)
- HRESULT ( STDMETHODCALLTYPE *GetSwapChainObject )(
- ID3D12SwapChainAssistant * This,
- REFIID riid,
- _COM_Outptr_ void **ppv);
-
- DECLSPEC_XFGVIRT(ID3D12SwapChainAssistant, GetCurrentResourceAndCommandQueue)
- HRESULT ( STDMETHODCALLTYPE *GetCurrentResourceAndCommandQueue )(
- ID3D12SwapChainAssistant * This,
- REFIID riidResource,
- _COM_Outptr_ void **ppvResource,
- REFIID riidQueue,
- _COM_Outptr_ void **ppvQueue);
-
- DECLSPEC_XFGVIRT(ID3D12SwapChainAssistant, InsertImplicitSync)
- HRESULT ( STDMETHODCALLTYPE *InsertImplicitSync )(
- ID3D12SwapChainAssistant * This);
-
- END_INTERFACE
- } ID3D12SwapChainAssistantVtbl;
- interface ID3D12SwapChainAssistant
- {
- CONST_VTBL struct ID3D12SwapChainAssistantVtbl *lpVtbl;
- };
-
- #ifdef COBJMACROS
- #define ID3D12SwapChainAssistant_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define ID3D12SwapChainAssistant_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define ID3D12SwapChainAssistant_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #if !defined(_WIN32)
- #define ID3D12SwapChainAssistant_GetLUID(This) \
- ( (This)->lpVtbl -> GetLUID(This) )
- #else
- #define ID3D12SwapChainAssistant_GetLUID(This,RetVal) \
- ( (This)->lpVtbl -> GetLUID(This,RetVal) )
- #endif
- #define ID3D12SwapChainAssistant_GetSwapChainObject(This,riid,ppv) \
- ( (This)->lpVtbl -> GetSwapChainObject(This,riid,ppv) )
- #define ID3D12SwapChainAssistant_GetCurrentResourceAndCommandQueue(This,riidResource,ppvResource,riidQueue,ppvQueue) \
- ( (This)->lpVtbl -> GetCurrentResourceAndCommandQueue(This,riidResource,ppvResource,riidQueue,ppvQueue) )
- #define ID3D12SwapChainAssistant_InsertImplicitSync(This) \
- ( (This)->lpVtbl -> InsertImplicitSync(This) )
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __ID3D12SwapChainAssistant_INTERFACE_DEFINED__ */
- #ifndef __ID3D12LifetimeTracker_INTERFACE_DEFINED__
- #define __ID3D12LifetimeTracker_INTERFACE_DEFINED__
- /* interface ID3D12LifetimeTracker */
- /* [unique][local][object][uuid] */
- EXTERN_C const IID IID_ID3D12LifetimeTracker;
- #if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("3fd03d36-4eb1-424a-a582-494ecb8ba813")
- ID3D12LifetimeTracker : public ID3D12DeviceChild
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE DestroyOwnedObject(
- _In_ ID3D12DeviceChild *pObject) = 0;
-
- };
-
-
- #else /* C style interface */
- typedef struct ID3D12LifetimeTrackerVtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12LifetimeTracker * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12LifetimeTracker * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12LifetimeTracker * This);
-
- DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12LifetimeTracker * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12LifetimeTracker * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12LifetimeTracker * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetName)
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12LifetimeTracker * This,
- _In_z_ LPCWSTR Name);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice)
- HRESULT ( STDMETHODCALLTYPE *GetDevice )(
- ID3D12LifetimeTracker * This,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvDevice);
-
- DECLSPEC_XFGVIRT(ID3D12LifetimeTracker, DestroyOwnedObject)
- HRESULT ( STDMETHODCALLTYPE *DestroyOwnedObject )(
- ID3D12LifetimeTracker * This,
- _In_ ID3D12DeviceChild *pObject);
-
- END_INTERFACE
- } ID3D12LifetimeTrackerVtbl;
- interface ID3D12LifetimeTracker
- {
- CONST_VTBL struct ID3D12LifetimeTrackerVtbl *lpVtbl;
- };
-
- #ifdef COBJMACROS
- #define ID3D12LifetimeTracker_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define ID3D12LifetimeTracker_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define ID3D12LifetimeTracker_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #define ID3D12LifetimeTracker_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
- #define ID3D12LifetimeTracker_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
- #define ID3D12LifetimeTracker_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
- #define ID3D12LifetimeTracker_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
- #define ID3D12LifetimeTracker_GetDevice(This,riid,ppvDevice) \
- ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
- #define ID3D12LifetimeTracker_DestroyOwnedObject(This,pObject) \
- ( (This)->lpVtbl -> DestroyOwnedObject(This,pObject) )
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __ID3D12LifetimeTracker_INTERFACE_DEFINED__ */
- /* interface __MIDL_itf_d3d12_0000_0032 */
- /* [local] */
- typedef
- enum D3D12_META_COMMAND_PARAMETER_TYPE
- {
- D3D12_META_COMMAND_PARAMETER_TYPE_FLOAT = 0,
- D3D12_META_COMMAND_PARAMETER_TYPE_UINT64 = 1,
- D3D12_META_COMMAND_PARAMETER_TYPE_GPU_VIRTUAL_ADDRESS = 2,
- D3D12_META_COMMAND_PARAMETER_TYPE_CPU_DESCRIPTOR_HANDLE_HEAP_TYPE_CBV_SRV_UAV = 3,
- D3D12_META_COMMAND_PARAMETER_TYPE_GPU_DESCRIPTOR_HANDLE_HEAP_TYPE_CBV_SRV_UAV = 4
- } D3D12_META_COMMAND_PARAMETER_TYPE;
- typedef
- enum D3D12_META_COMMAND_PARAMETER_FLAGS
- {
- D3D12_META_COMMAND_PARAMETER_FLAG_INPUT = 0x1,
- D3D12_META_COMMAND_PARAMETER_FLAG_OUTPUT = 0x2
- } D3D12_META_COMMAND_PARAMETER_FLAGS;
- DEFINE_ENUM_FLAG_OPERATORS( D3D12_META_COMMAND_PARAMETER_FLAGS );
- typedef
- enum D3D12_META_COMMAND_PARAMETER_STAGE
- {
- D3D12_META_COMMAND_PARAMETER_STAGE_CREATION = 0,
- D3D12_META_COMMAND_PARAMETER_STAGE_INITIALIZATION = 1,
- D3D12_META_COMMAND_PARAMETER_STAGE_EXECUTION = 2
- } D3D12_META_COMMAND_PARAMETER_STAGE;
- typedef struct D3D12_META_COMMAND_PARAMETER_DESC
- {
- LPCWSTR Name;
- D3D12_META_COMMAND_PARAMETER_TYPE Type;
- D3D12_META_COMMAND_PARAMETER_FLAGS Flags;
- D3D12_RESOURCE_STATES RequiredResourceState;
- UINT StructureOffset;
- } D3D12_META_COMMAND_PARAMETER_DESC;
- typedef
- enum D3D12_GRAPHICS_STATES
- {
- D3D12_GRAPHICS_STATE_NONE = 0,
- D3D12_GRAPHICS_STATE_IA_VERTEX_BUFFERS = ( 1 << 0 ) ,
- D3D12_GRAPHICS_STATE_IA_INDEX_BUFFER = ( 1 << 1 ) ,
- D3D12_GRAPHICS_STATE_IA_PRIMITIVE_TOPOLOGY = ( 1 << 2 ) ,
- D3D12_GRAPHICS_STATE_DESCRIPTOR_HEAP = ( 1 << 3 ) ,
- D3D12_GRAPHICS_STATE_GRAPHICS_ROOT_SIGNATURE = ( 1 << 4 ) ,
- D3D12_GRAPHICS_STATE_COMPUTE_ROOT_SIGNATURE = ( 1 << 5 ) ,
- D3D12_GRAPHICS_STATE_RS_VIEWPORTS = ( 1 << 6 ) ,
- D3D12_GRAPHICS_STATE_RS_SCISSOR_RECTS = ( 1 << 7 ) ,
- D3D12_GRAPHICS_STATE_PREDICATION = ( 1 << 8 ) ,
- D3D12_GRAPHICS_STATE_OM_RENDER_TARGETS = ( 1 << 9 ) ,
- D3D12_GRAPHICS_STATE_OM_STENCIL_REF = ( 1 << 10 ) ,
- D3D12_GRAPHICS_STATE_OM_BLEND_FACTOR = ( 1 << 11 ) ,
- D3D12_GRAPHICS_STATE_PIPELINE_STATE = ( 1 << 12 ) ,
- D3D12_GRAPHICS_STATE_SO_TARGETS = ( 1 << 13 ) ,
- D3D12_GRAPHICS_STATE_OM_DEPTH_BOUNDS = ( 1 << 14 ) ,
- D3D12_GRAPHICS_STATE_SAMPLE_POSITIONS = ( 1 << 15 ) ,
- D3D12_GRAPHICS_STATE_VIEW_INSTANCE_MASK = ( 1 << 16 )
- } D3D12_GRAPHICS_STATES;
- DEFINE_ENUM_FLAG_OPERATORS( D3D12_GRAPHICS_STATES );
- typedef struct D3D12_META_COMMAND_DESC
- {
- GUID Id;
- LPCWSTR Name;
- D3D12_GRAPHICS_STATES InitializationDirtyState;
- D3D12_GRAPHICS_STATES ExecutionDirtyState;
- } D3D12_META_COMMAND_DESC;
- extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0032_v0_0_c_ifspec;
- extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0032_v0_0_s_ifspec;
- #ifndef __ID3D12StateObject_INTERFACE_DEFINED__
- #define __ID3D12StateObject_INTERFACE_DEFINED__
- /* interface ID3D12StateObject */
- /* [unique][local][object][uuid] */
- EXTERN_C const IID IID_ID3D12StateObject;
- #if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("47016943-fca8-4594-93ea-af258b55346d")
- ID3D12StateObject : public ID3D12Pageable
- {
- public:
- };
-
-
- #else /* C style interface */
- typedef struct ID3D12StateObjectVtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12StateObject * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12StateObject * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12StateObject * This);
-
- DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12StateObject * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12StateObject * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12StateObject * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetName)
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12StateObject * This,
- _In_z_ LPCWSTR Name);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice)
- HRESULT ( STDMETHODCALLTYPE *GetDevice )(
- ID3D12StateObject * This,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvDevice);
-
- END_INTERFACE
- } ID3D12StateObjectVtbl;
- interface ID3D12StateObject
- {
- CONST_VTBL struct ID3D12StateObjectVtbl *lpVtbl;
- };
-
- #ifdef COBJMACROS
- #define ID3D12StateObject_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define ID3D12StateObject_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define ID3D12StateObject_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #define ID3D12StateObject_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
- #define ID3D12StateObject_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
- #define ID3D12StateObject_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
- #define ID3D12StateObject_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
- #define ID3D12StateObject_GetDevice(This,riid,ppvDevice) \
- ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __ID3D12StateObject_INTERFACE_DEFINED__ */
- #ifndef __ID3D12StateObjectProperties_INTERFACE_DEFINED__
- #define __ID3D12StateObjectProperties_INTERFACE_DEFINED__
- /* interface ID3D12StateObjectProperties */
- /* [unique][local][object][uuid] */
- EXTERN_C const IID IID_ID3D12StateObjectProperties;
- #if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("de5fa827-9bf9-4f26-89ff-d7f56fde3860")
- ID3D12StateObjectProperties : public IUnknown
- {
- public:
- virtual void *STDMETHODCALLTYPE GetShaderIdentifier(
- _In_ LPCWSTR pExportName) = 0;
-
- virtual UINT64 STDMETHODCALLTYPE GetShaderStackSize(
- _In_ LPCWSTR pExportName) = 0;
-
- virtual UINT64 STDMETHODCALLTYPE GetPipelineStackSize( void) = 0;
-
- virtual void STDMETHODCALLTYPE SetPipelineStackSize(
- UINT64 PipelineStackSizeInBytes) = 0;
-
- };
-
-
- #else /* C style interface */
- typedef struct ID3D12StateObjectPropertiesVtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12StateObjectProperties * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12StateObjectProperties * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12StateObjectProperties * This);
-
- DECLSPEC_XFGVIRT(ID3D12StateObjectProperties, GetShaderIdentifier)
- void *( STDMETHODCALLTYPE *GetShaderIdentifier )(
- ID3D12StateObjectProperties * This,
- _In_ LPCWSTR pExportName);
-
- DECLSPEC_XFGVIRT(ID3D12StateObjectProperties, GetShaderStackSize)
- UINT64 ( STDMETHODCALLTYPE *GetShaderStackSize )(
- ID3D12StateObjectProperties * This,
- _In_ LPCWSTR pExportName);
-
- DECLSPEC_XFGVIRT(ID3D12StateObjectProperties, GetPipelineStackSize)
- UINT64 ( STDMETHODCALLTYPE *GetPipelineStackSize )(
- ID3D12StateObjectProperties * This);
-
- DECLSPEC_XFGVIRT(ID3D12StateObjectProperties, SetPipelineStackSize)
- void ( STDMETHODCALLTYPE *SetPipelineStackSize )(
- ID3D12StateObjectProperties * This,
- UINT64 PipelineStackSizeInBytes);
-
- END_INTERFACE
- } ID3D12StateObjectPropertiesVtbl;
- interface ID3D12StateObjectProperties
- {
- CONST_VTBL struct ID3D12StateObjectPropertiesVtbl *lpVtbl;
- };
-
- #ifdef COBJMACROS
- #define ID3D12StateObjectProperties_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define ID3D12StateObjectProperties_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define ID3D12StateObjectProperties_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #define ID3D12StateObjectProperties_GetShaderIdentifier(This,pExportName) \
- ( (This)->lpVtbl -> GetShaderIdentifier(This,pExportName) )
- #define ID3D12StateObjectProperties_GetShaderStackSize(This,pExportName) \
- ( (This)->lpVtbl -> GetShaderStackSize(This,pExportName) )
- #define ID3D12StateObjectProperties_GetPipelineStackSize(This) \
- ( (This)->lpVtbl -> GetPipelineStackSize(This) )
- #define ID3D12StateObjectProperties_SetPipelineStackSize(This,PipelineStackSizeInBytes) \
- ( (This)->lpVtbl -> SetPipelineStackSize(This,PipelineStackSizeInBytes) )
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __ID3D12StateObjectProperties_INTERFACE_DEFINED__ */
- /* interface __MIDL_itf_d3d12_0000_0034 */
- /* [local] */
- typedef
- enum D3D12_STATE_SUBOBJECT_TYPE
- {
- D3D12_STATE_SUBOBJECT_TYPE_STATE_OBJECT_CONFIG = 0,
- D3D12_STATE_SUBOBJECT_TYPE_GLOBAL_ROOT_SIGNATURE = 1,
- D3D12_STATE_SUBOBJECT_TYPE_LOCAL_ROOT_SIGNATURE = 2,
- D3D12_STATE_SUBOBJECT_TYPE_NODE_MASK = 3,
- D3D12_STATE_SUBOBJECT_TYPE_DXIL_LIBRARY = 5,
- D3D12_STATE_SUBOBJECT_TYPE_EXISTING_COLLECTION = 6,
- D3D12_STATE_SUBOBJECT_TYPE_SUBOBJECT_TO_EXPORTS_ASSOCIATION = 7,
- D3D12_STATE_SUBOBJECT_TYPE_DXIL_SUBOBJECT_TO_EXPORTS_ASSOCIATION = 8,
- D3D12_STATE_SUBOBJECT_TYPE_RAYTRACING_SHADER_CONFIG = 9,
- D3D12_STATE_SUBOBJECT_TYPE_RAYTRACING_PIPELINE_CONFIG = 10,
- D3D12_STATE_SUBOBJECT_TYPE_HIT_GROUP = 11,
- D3D12_STATE_SUBOBJECT_TYPE_RAYTRACING_PIPELINE_CONFIG1 = 12,
- D3D12_STATE_SUBOBJECT_TYPE_MAX_VALID = ( D3D12_STATE_SUBOBJECT_TYPE_RAYTRACING_PIPELINE_CONFIG1 + 1 )
- } D3D12_STATE_SUBOBJECT_TYPE;
- typedef struct D3D12_STATE_SUBOBJECT
- {
- D3D12_STATE_SUBOBJECT_TYPE Type;
- const void *pDesc;
- } D3D12_STATE_SUBOBJECT;
- typedef
- enum D3D12_STATE_OBJECT_FLAGS
- {
- D3D12_STATE_OBJECT_FLAG_NONE = 0,
- D3D12_STATE_OBJECT_FLAG_ALLOW_LOCAL_DEPENDENCIES_ON_EXTERNAL_DEFINITIONS = 0x1,
- D3D12_STATE_OBJECT_FLAG_ALLOW_EXTERNAL_DEPENDENCIES_ON_LOCAL_DEFINITIONS = 0x2,
- D3D12_STATE_OBJECT_FLAG_ALLOW_STATE_OBJECT_ADDITIONS = 0x4
- } D3D12_STATE_OBJECT_FLAGS;
- DEFINE_ENUM_FLAG_OPERATORS( D3D12_STATE_OBJECT_FLAGS );
- typedef struct D3D12_STATE_OBJECT_CONFIG
- {
- D3D12_STATE_OBJECT_FLAGS Flags;
- } D3D12_STATE_OBJECT_CONFIG;
- typedef struct D3D12_GLOBAL_ROOT_SIGNATURE
- {
- ID3D12RootSignature *pGlobalRootSignature;
- } D3D12_GLOBAL_ROOT_SIGNATURE;
- typedef struct D3D12_LOCAL_ROOT_SIGNATURE
- {
- ID3D12RootSignature *pLocalRootSignature;
- } D3D12_LOCAL_ROOT_SIGNATURE;
- typedef struct D3D12_NODE_MASK
- {
- UINT NodeMask;
- } D3D12_NODE_MASK;
- typedef
- enum D3D12_EXPORT_FLAGS
- {
- D3D12_EXPORT_FLAG_NONE = 0
- } D3D12_EXPORT_FLAGS;
- DEFINE_ENUM_FLAG_OPERATORS( D3D12_EXPORT_FLAGS );
- typedef struct D3D12_EXPORT_DESC
- {
- LPCWSTR Name;
- _In_opt_ LPCWSTR ExportToRename;
- D3D12_EXPORT_FLAGS Flags;
- } D3D12_EXPORT_DESC;
- typedef struct D3D12_DXIL_LIBRARY_DESC
- {
- D3D12_SHADER_BYTECODE DXILLibrary;
- UINT NumExports;
- _In_reads_(NumExports) const D3D12_EXPORT_DESC *pExports;
- } D3D12_DXIL_LIBRARY_DESC;
- typedef struct D3D12_EXISTING_COLLECTION_DESC
- {
- ID3D12StateObject *pExistingCollection;
- UINT NumExports;
- _In_reads_(NumExports) const D3D12_EXPORT_DESC *pExports;
- } D3D12_EXISTING_COLLECTION_DESC;
- typedef struct D3D12_SUBOBJECT_TO_EXPORTS_ASSOCIATION
- {
- const D3D12_STATE_SUBOBJECT *pSubobjectToAssociate;
- UINT NumExports;
- _In_reads_(NumExports) LPCWSTR *pExports;
- } D3D12_SUBOBJECT_TO_EXPORTS_ASSOCIATION;
- typedef struct D3D12_DXIL_SUBOBJECT_TO_EXPORTS_ASSOCIATION
- {
- LPCWSTR SubobjectToAssociate;
- UINT NumExports;
- _In_reads_(NumExports) LPCWSTR *pExports;
- } D3D12_DXIL_SUBOBJECT_TO_EXPORTS_ASSOCIATION;
- typedef
- enum D3D12_HIT_GROUP_TYPE
- {
- D3D12_HIT_GROUP_TYPE_TRIANGLES = 0,
- D3D12_HIT_GROUP_TYPE_PROCEDURAL_PRIMITIVE = 0x1
- } D3D12_HIT_GROUP_TYPE;
- typedef struct D3D12_HIT_GROUP_DESC
- {
- LPCWSTR HitGroupExport;
- D3D12_HIT_GROUP_TYPE Type;
- _In_opt_ LPCWSTR AnyHitShaderImport;
- _In_opt_ LPCWSTR ClosestHitShaderImport;
- _In_opt_ LPCWSTR IntersectionShaderImport;
- } D3D12_HIT_GROUP_DESC;
- typedef struct D3D12_RAYTRACING_SHADER_CONFIG
- {
- UINT MaxPayloadSizeInBytes;
- UINT MaxAttributeSizeInBytes;
- } D3D12_RAYTRACING_SHADER_CONFIG;
- typedef struct D3D12_RAYTRACING_PIPELINE_CONFIG
- {
- UINT MaxTraceRecursionDepth;
- } D3D12_RAYTRACING_PIPELINE_CONFIG;
- typedef
- enum D3D12_RAYTRACING_PIPELINE_FLAGS
- {
- D3D12_RAYTRACING_PIPELINE_FLAG_NONE = 0,
- D3D12_RAYTRACING_PIPELINE_FLAG_SKIP_TRIANGLES = 0x100,
- D3D12_RAYTRACING_PIPELINE_FLAG_SKIP_PROCEDURAL_PRIMITIVES = 0x200
- } D3D12_RAYTRACING_PIPELINE_FLAGS;
- DEFINE_ENUM_FLAG_OPERATORS( D3D12_RAYTRACING_PIPELINE_FLAGS );
- typedef struct D3D12_RAYTRACING_PIPELINE_CONFIG1
- {
- UINT MaxTraceRecursionDepth;
- D3D12_RAYTRACING_PIPELINE_FLAGS Flags;
- } D3D12_RAYTRACING_PIPELINE_CONFIG1;
- typedef
- enum D3D12_STATE_OBJECT_TYPE
- {
- D3D12_STATE_OBJECT_TYPE_COLLECTION = 0,
- D3D12_STATE_OBJECT_TYPE_RAYTRACING_PIPELINE = 3
- } D3D12_STATE_OBJECT_TYPE;
- typedef struct D3D12_STATE_OBJECT_DESC
- {
- D3D12_STATE_OBJECT_TYPE Type;
- UINT NumSubobjects;
- _In_reads_(NumSubobjects) const D3D12_STATE_SUBOBJECT *pSubobjects;
- } D3D12_STATE_OBJECT_DESC;
- typedef
- enum D3D12_RAYTRACING_GEOMETRY_FLAGS
- {
- D3D12_RAYTRACING_GEOMETRY_FLAG_NONE = 0,
- D3D12_RAYTRACING_GEOMETRY_FLAG_OPAQUE = 0x1,
- D3D12_RAYTRACING_GEOMETRY_FLAG_NO_DUPLICATE_ANYHIT_INVOCATION = 0x2
- } D3D12_RAYTRACING_GEOMETRY_FLAGS;
- DEFINE_ENUM_FLAG_OPERATORS( D3D12_RAYTRACING_GEOMETRY_FLAGS );
- typedef
- enum D3D12_RAYTRACING_GEOMETRY_TYPE
- {
- D3D12_RAYTRACING_GEOMETRY_TYPE_TRIANGLES = 0,
- D3D12_RAYTRACING_GEOMETRY_TYPE_PROCEDURAL_PRIMITIVE_AABBS = ( D3D12_RAYTRACING_GEOMETRY_TYPE_TRIANGLES + 1 )
- } D3D12_RAYTRACING_GEOMETRY_TYPE;
- typedef
- enum D3D12_RAYTRACING_INSTANCE_FLAGS
- {
- D3D12_RAYTRACING_INSTANCE_FLAG_NONE = 0,
- D3D12_RAYTRACING_INSTANCE_FLAG_TRIANGLE_CULL_DISABLE = 0x1,
- D3D12_RAYTRACING_INSTANCE_FLAG_TRIANGLE_FRONT_COUNTERCLOCKWISE = 0x2,
- D3D12_RAYTRACING_INSTANCE_FLAG_FORCE_OPAQUE = 0x4,
- D3D12_RAYTRACING_INSTANCE_FLAG_FORCE_NON_OPAQUE = 0x8
- } D3D12_RAYTRACING_INSTANCE_FLAGS;
- DEFINE_ENUM_FLAG_OPERATORS( D3D12_RAYTRACING_INSTANCE_FLAGS );
- typedef struct D3D12_GPU_VIRTUAL_ADDRESS_AND_STRIDE
- {
- D3D12_GPU_VIRTUAL_ADDRESS StartAddress;
- UINT64 StrideInBytes;
- } D3D12_GPU_VIRTUAL_ADDRESS_AND_STRIDE;
- typedef struct D3D12_GPU_VIRTUAL_ADDRESS_RANGE
- {
- D3D12_GPU_VIRTUAL_ADDRESS StartAddress;
- UINT64 SizeInBytes;
- } D3D12_GPU_VIRTUAL_ADDRESS_RANGE;
- typedef struct D3D12_GPU_VIRTUAL_ADDRESS_RANGE_AND_STRIDE
- {
- D3D12_GPU_VIRTUAL_ADDRESS StartAddress;
- UINT64 SizeInBytes;
- UINT64 StrideInBytes;
- } D3D12_GPU_VIRTUAL_ADDRESS_RANGE_AND_STRIDE;
- typedef struct D3D12_RAYTRACING_GEOMETRY_TRIANGLES_DESC
- {
- D3D12_GPU_VIRTUAL_ADDRESS Transform3x4;
- DXGI_FORMAT IndexFormat;
- DXGI_FORMAT VertexFormat;
- UINT IndexCount;
- UINT VertexCount;
- D3D12_GPU_VIRTUAL_ADDRESS IndexBuffer;
- D3D12_GPU_VIRTUAL_ADDRESS_AND_STRIDE VertexBuffer;
- } D3D12_RAYTRACING_GEOMETRY_TRIANGLES_DESC;
- typedef struct D3D12_RAYTRACING_AABB
- {
- FLOAT MinX;
- FLOAT MinY;
- FLOAT MinZ;
- FLOAT MaxX;
- FLOAT MaxY;
- FLOAT MaxZ;
- } D3D12_RAYTRACING_AABB;
- typedef struct D3D12_RAYTRACING_GEOMETRY_AABBS_DESC
- {
- UINT64 AABBCount;
- D3D12_GPU_VIRTUAL_ADDRESS_AND_STRIDE AABBs;
- } D3D12_RAYTRACING_GEOMETRY_AABBS_DESC;
- typedef
- enum D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS
- {
- D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_NONE = 0,
- D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_ALLOW_UPDATE = 0x1,
- D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_ALLOW_COMPACTION = 0x2,
- D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_PREFER_FAST_TRACE = 0x4,
- D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_PREFER_FAST_BUILD = 0x8,
- D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_MINIMIZE_MEMORY = 0x10,
- D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_PERFORM_UPDATE = 0x20
- } D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS;
- DEFINE_ENUM_FLAG_OPERATORS( D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS );
- typedef
- enum D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE
- {
- D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE_CLONE = 0,
- D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE_COMPACT = 0x1,
- D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE_VISUALIZATION_DECODE_FOR_TOOLS = 0x2,
- D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE_SERIALIZE = 0x3,
- D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE_DESERIALIZE = 0x4
- } D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE;
- typedef
- enum D3D12_RAYTRACING_ACCELERATION_STRUCTURE_TYPE
- {
- D3D12_RAYTRACING_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL = 0,
- D3D12_RAYTRACING_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL = 0x1
- } D3D12_RAYTRACING_ACCELERATION_STRUCTURE_TYPE;
- typedef
- enum D3D12_ELEMENTS_LAYOUT
- {
- D3D12_ELEMENTS_LAYOUT_ARRAY = 0,
- D3D12_ELEMENTS_LAYOUT_ARRAY_OF_POINTERS = 0x1
- } D3D12_ELEMENTS_LAYOUT;
- typedef
- enum D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TYPE
- {
- D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_COMPACTED_SIZE = 0,
- D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TOOLS_VISUALIZATION = 0x1,
- D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_SERIALIZATION = 0x2,
- D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_CURRENT_SIZE = 0x3
- } D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TYPE;
- typedef struct D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC
- {
- D3D12_GPU_VIRTUAL_ADDRESS DestBuffer;
- D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TYPE InfoType;
- } D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC;
- typedef struct D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_COMPACTED_SIZE_DESC
- {
- UINT64 CompactedSizeInBytes;
- } D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_COMPACTED_SIZE_DESC;
- typedef struct D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TOOLS_VISUALIZATION_DESC
- {
- UINT64 DecodedSizeInBytes;
- } D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TOOLS_VISUALIZATION_DESC;
- typedef struct D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_TOOLS_VISUALIZATION_HEADER
- {
- D3D12_RAYTRACING_ACCELERATION_STRUCTURE_TYPE Type;
- UINT NumDescs;
- } D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_TOOLS_VISUALIZATION_HEADER;
- // Regarding D3D12_BUILD_RAY_TRACING_ACCELERATION_STRUCTURE_TOOLS_VISUALIZATION_HEADER above,
- // depending on Type field, NumDescs above is followed by either:
- // D3D12_RAY_TRACING_INSTANCE_DESC InstanceDescs[NumDescs]
- // or D3D12_RAY_TRACING_GEOMETRY_DESC GeometryDescs[NumDescs].
- // There is 4 bytes of padding between GeometryDesc structs in the array so alignment is natural when viewed by CPU.
- typedef struct D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_SERIALIZATION_DESC
- {
- UINT64 SerializedSizeInBytes;
- UINT64 NumBottomLevelAccelerationStructurePointers;
- } D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_SERIALIZATION_DESC;
- typedef struct D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER
- {
- GUID DriverOpaqueGUID;
- BYTE DriverOpaqueVersioningData[ 16 ];
- } D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER;
- typedef
- enum D3D12_SERIALIZED_DATA_TYPE
- {
- D3D12_SERIALIZED_DATA_RAYTRACING_ACCELERATION_STRUCTURE = 0
- } D3D12_SERIALIZED_DATA_TYPE;
- typedef
- enum D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS
- {
- D3D12_DRIVER_MATCHING_IDENTIFIER_COMPATIBLE_WITH_DEVICE = 0,
- D3D12_DRIVER_MATCHING_IDENTIFIER_UNSUPPORTED_TYPE = 0x1,
- D3D12_DRIVER_MATCHING_IDENTIFIER_UNRECOGNIZED = 0x2,
- D3D12_DRIVER_MATCHING_IDENTIFIER_INCOMPATIBLE_VERSION = 0x3,
- D3D12_DRIVER_MATCHING_IDENTIFIER_INCOMPATIBLE_TYPE = 0x4
- } D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS;
- typedef struct D3D12_SERIALIZED_RAYTRACING_ACCELERATION_STRUCTURE_HEADER
- {
- D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER DriverMatchingIdentifier;
- UINT64 SerializedSizeInBytesIncludingHeader;
- UINT64 DeserializedSizeInBytes;
- UINT64 NumBottomLevelAccelerationStructurePointersAfterHeader;
- } D3D12_SERIALIZED_RAYTRACING_ACCELERATION_STRUCTURE_HEADER;
- typedef struct D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_CURRENT_SIZE_DESC
- {
- UINT64 CurrentSizeInBytes;
- } D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_CURRENT_SIZE_DESC;
- typedef struct D3D12_RAYTRACING_INSTANCE_DESC
- {
- FLOAT Transform[ 3 ][ 4 ];
- UINT InstanceID : 24;
- UINT InstanceMask : 8;
- UINT InstanceContributionToHitGroupIndex : 24;
- UINT Flags : 8;
- D3D12_GPU_VIRTUAL_ADDRESS AccelerationStructure;
- } D3D12_RAYTRACING_INSTANCE_DESC;
- typedef struct D3D12_RAYTRACING_GEOMETRY_DESC
- {
- D3D12_RAYTRACING_GEOMETRY_TYPE Type;
- D3D12_RAYTRACING_GEOMETRY_FLAGS Flags;
- union
- {
- D3D12_RAYTRACING_GEOMETRY_TRIANGLES_DESC Triangles;
- D3D12_RAYTRACING_GEOMETRY_AABBS_DESC AABBs;
- } ;
- } D3D12_RAYTRACING_GEOMETRY_DESC;
- typedef struct D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS
- {
- D3D12_RAYTRACING_ACCELERATION_STRUCTURE_TYPE Type;
- D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS Flags;
- UINT NumDescs;
- D3D12_ELEMENTS_LAYOUT DescsLayout;
- union
- {
- D3D12_GPU_VIRTUAL_ADDRESS InstanceDescs;
- const D3D12_RAYTRACING_GEOMETRY_DESC *pGeometryDescs;
- const D3D12_RAYTRACING_GEOMETRY_DESC *const *ppGeometryDescs;
- } ;
- } D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS;
- typedef struct D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC
- {
- D3D12_GPU_VIRTUAL_ADDRESS DestAccelerationStructureData;
- D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS Inputs;
- _In_opt_ D3D12_GPU_VIRTUAL_ADDRESS SourceAccelerationStructureData;
- D3D12_GPU_VIRTUAL_ADDRESS ScratchAccelerationStructureData;
- } D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC;
- typedef struct D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO
- {
- UINT64 ResultDataMaxSizeInBytes;
- UINT64 ScratchDataSizeInBytes;
- UINT64 UpdateScratchDataSizeInBytes;
- } D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO;
- typedef
- enum D3D12_RAY_FLAGS
- {
- D3D12_RAY_FLAG_NONE = 0,
- D3D12_RAY_FLAG_FORCE_OPAQUE = 0x1,
- D3D12_RAY_FLAG_FORCE_NON_OPAQUE = 0x2,
- D3D12_RAY_FLAG_ACCEPT_FIRST_HIT_AND_END_SEARCH = 0x4,
- D3D12_RAY_FLAG_SKIP_CLOSEST_HIT_SHADER = 0x8,
- D3D12_RAY_FLAG_CULL_BACK_FACING_TRIANGLES = 0x10,
- D3D12_RAY_FLAG_CULL_FRONT_FACING_TRIANGLES = 0x20,
- D3D12_RAY_FLAG_CULL_OPAQUE = 0x40,
- D3D12_RAY_FLAG_CULL_NON_OPAQUE = 0x80,
- D3D12_RAY_FLAG_SKIP_TRIANGLES = 0x100,
- D3D12_RAY_FLAG_SKIP_PROCEDURAL_PRIMITIVES = 0x200
- } D3D12_RAY_FLAGS;
- DEFINE_ENUM_FLAG_OPERATORS( D3D12_RAY_FLAGS );
- typedef
- enum D3D12_HIT_KIND
- {
- D3D12_HIT_KIND_TRIANGLE_FRONT_FACE = 0xfe,
- D3D12_HIT_KIND_TRIANGLE_BACK_FACE = 0xff
- } D3D12_HIT_KIND;
- extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0034_v0_0_c_ifspec;
- extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0034_v0_0_s_ifspec;
- #ifndef __ID3D12Device5_INTERFACE_DEFINED__
- #define __ID3D12Device5_INTERFACE_DEFINED__
- /* interface ID3D12Device5 */
- /* [unique][local][object][uuid] */
- EXTERN_C const IID IID_ID3D12Device5;
- #if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("8b4f173b-2fea-4b80-8f58-4307191ab95d")
- ID3D12Device5 : public ID3D12Device4
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE CreateLifetimeTracker(
- _In_ ID3D12LifetimeOwner *pOwner,
- REFIID riid,
- _COM_Outptr_ void **ppvTracker) = 0;
-
- virtual void STDMETHODCALLTYPE RemoveDevice( void) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE EnumerateMetaCommands(
- _Inout_ UINT *pNumMetaCommands,
- _Out_writes_opt_(*pNumMetaCommands) D3D12_META_COMMAND_DESC *pDescs) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE EnumerateMetaCommandParameters(
- _In_ REFGUID CommandId,
- _In_ D3D12_META_COMMAND_PARAMETER_STAGE Stage,
- _Out_opt_ UINT *pTotalStructureSizeInBytes,
- _Inout_ UINT *pParameterCount,
- _Out_writes_opt_(*pParameterCount) D3D12_META_COMMAND_PARAMETER_DESC *pParameterDescs) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE CreateMetaCommand(
- _In_ REFGUID CommandId,
- _In_ UINT NodeMask,
- _In_reads_bytes_opt_(CreationParametersDataSizeInBytes) const void *pCreationParametersData,
- _In_ SIZE_T CreationParametersDataSizeInBytes,
- REFIID riid,
- _COM_Outptr_ void **ppMetaCommand) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE CreateStateObject(
- const D3D12_STATE_OBJECT_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppStateObject) = 0;
-
- virtual void STDMETHODCALLTYPE GetRaytracingAccelerationStructurePrebuildInfo(
- _In_ const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS *pDesc,
- _Out_ D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO *pInfo) = 0;
-
- virtual D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS STDMETHODCALLTYPE CheckDriverMatchingIdentifier(
- _In_ D3D12_SERIALIZED_DATA_TYPE SerializedDataType,
- _In_ const D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER *pIdentifierToCheck) = 0;
-
- };
-
-
- #else /* C style interface */
- typedef struct ID3D12Device5Vtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12Device5 * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12Device5 * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12Device5 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12Device5 * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12Device5 * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12Device5 * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetName)
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12Device5 * This,
- _In_z_ LPCWSTR Name);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetNodeCount)
- UINT ( STDMETHODCALLTYPE *GetNodeCount )(
- ID3D12Device5 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandQueue)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandQueue )(
- ID3D12Device5 * This,
- _In_ const D3D12_COMMAND_QUEUE_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppCommandQueue);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandAllocator)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandAllocator )(
- ID3D12Device5 * This,
- _In_ D3D12_COMMAND_LIST_TYPE type,
- REFIID riid,
- _COM_Outptr_ void **ppCommandAllocator);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateGraphicsPipelineState)
- HRESULT ( STDMETHODCALLTYPE *CreateGraphicsPipelineState )(
- ID3D12Device5 * This,
- _In_ const D3D12_GRAPHICS_PIPELINE_STATE_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineState);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateComputePipelineState)
- HRESULT ( STDMETHODCALLTYPE *CreateComputePipelineState )(
- ID3D12Device5 * This,
- _In_ const D3D12_COMPUTE_PIPELINE_STATE_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineState);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandList)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandList )(
- ID3D12Device5 * This,
- _In_ UINT nodeMask,
- _In_ D3D12_COMMAND_LIST_TYPE type,
- _In_ ID3D12CommandAllocator *pCommandAllocator,
- _In_opt_ ID3D12PipelineState *pInitialState,
- REFIID riid,
- _COM_Outptr_ void **ppCommandList);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CheckFeatureSupport)
- HRESULT ( STDMETHODCALLTYPE *CheckFeatureSupport )(
- ID3D12Device5 * This,
- D3D12_FEATURE Feature,
- _Inout_updates_bytes_(FeatureSupportDataSize) void *pFeatureSupportData,
- UINT FeatureSupportDataSize);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateDescriptorHeap)
- HRESULT ( STDMETHODCALLTYPE *CreateDescriptorHeap )(
- ID3D12Device5 * This,
- _In_ const D3D12_DESCRIPTOR_HEAP_DESC *pDescriptorHeapDesc,
- REFIID riid,
- _COM_Outptr_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetDescriptorHandleIncrementSize)
- UINT ( STDMETHODCALLTYPE *GetDescriptorHandleIncrementSize )(
- ID3D12Device5 * This,
- _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapType);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateRootSignature)
- HRESULT ( STDMETHODCALLTYPE *CreateRootSignature )(
- ID3D12Device5 * This,
- _In_ UINT nodeMask,
- _In_reads_(blobLengthInBytes) const void *pBlobWithRootSignature,
- _In_ SIZE_T blobLengthInBytes,
- REFIID riid,
- _COM_Outptr_ void **ppvRootSignature);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateConstantBufferView)
- void ( STDMETHODCALLTYPE *CreateConstantBufferView )(
- ID3D12Device5 * This,
- _In_opt_ const D3D12_CONSTANT_BUFFER_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateShaderResourceView)
- void ( STDMETHODCALLTYPE *CreateShaderResourceView )(
- ID3D12Device5 * This,
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_SHADER_RESOURCE_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateUnorderedAccessView)
- void ( STDMETHODCALLTYPE *CreateUnorderedAccessView )(
- ID3D12Device5 * This,
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ ID3D12Resource *pCounterResource,
- _In_opt_ const D3D12_UNORDERED_ACCESS_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateRenderTargetView)
- void ( STDMETHODCALLTYPE *CreateRenderTargetView )(
- ID3D12Device5 * This,
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_RENDER_TARGET_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateDepthStencilView)
- void ( STDMETHODCALLTYPE *CreateDepthStencilView )(
- ID3D12Device5 * This,
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_DEPTH_STENCIL_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateSampler)
- void ( STDMETHODCALLTYPE *CreateSampler )(
- ID3D12Device5 * This,
- _In_ const D3D12_SAMPLER_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CopyDescriptors)
- void ( STDMETHODCALLTYPE *CopyDescriptors )(
- ID3D12Device5 * This,
- _In_ UINT NumDestDescriptorRanges,
- _In_reads_(NumDestDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pDestDescriptorRangeStarts,
- _In_reads_opt_(NumDestDescriptorRanges) const UINT *pDestDescriptorRangeSizes,
- _In_ UINT NumSrcDescriptorRanges,
- _In_reads_(NumSrcDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pSrcDescriptorRangeStarts,
- _In_reads_opt_(NumSrcDescriptorRanges) const UINT *pSrcDescriptorRangeSizes,
- _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CopyDescriptorsSimple)
- void ( STDMETHODCALLTYPE *CopyDescriptorsSimple )(
- ID3D12Device5 * This,
- _In_ UINT NumDescriptors,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptorRangeStart,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE SrcDescriptorRangeStart,
- _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetResourceAllocationInfo)
- #if !defined(_WIN32)
- D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo )(
- ID3D12Device5 * This,
- _In_ UINT visibleMask,
- _In_ UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs);
-
- #else
- D3D12_RESOURCE_ALLOCATION_INFO *( STDMETHODCALLTYPE *GetResourceAllocationInfo )(
- ID3D12Device5 * This,
- D3D12_RESOURCE_ALLOCATION_INFO * RetVal,
- _In_ UINT visibleMask,
- _In_ UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs);
-
- #endif
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetCustomHeapProperties)
- #if !defined(_WIN32)
- D3D12_HEAP_PROPERTIES ( STDMETHODCALLTYPE *GetCustomHeapProperties )(
- ID3D12Device5 * This,
- _In_ UINT nodeMask,
- D3D12_HEAP_TYPE heapType);
-
- #else
- D3D12_HEAP_PROPERTIES *( STDMETHODCALLTYPE *GetCustomHeapProperties )(
- ID3D12Device5 * This,
- D3D12_HEAP_PROPERTIES * RetVal,
- _In_ UINT nodeMask,
- D3D12_HEAP_TYPE heapType);
-
- #endif
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommittedResource)
- HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource )(
- ID3D12Device5 * This,
- _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties,
- D3D12_HEAP_FLAGS HeapFlags,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialResourceState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- REFIID riidResource,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateHeap)
- HRESULT ( STDMETHODCALLTYPE *CreateHeap )(
- ID3D12Device5 * This,
- _In_ const D3D12_HEAP_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreatePlacedResource)
- HRESULT ( STDMETHODCALLTYPE *CreatePlacedResource )(
- ID3D12Device5 * This,
- _In_ ID3D12Heap *pHeap,
- UINT64 HeapOffset,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateReservedResource)
- HRESULT ( STDMETHODCALLTYPE *CreateReservedResource )(
- ID3D12Device5 * This,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateSharedHandle)
- HRESULT ( STDMETHODCALLTYPE *CreateSharedHandle )(
- ID3D12Device5 * This,
- _In_ ID3D12DeviceChild *pObject,
- _In_opt_ const SECURITY_ATTRIBUTES *pAttributes,
- DWORD Access,
- _In_opt_ LPCWSTR Name,
- _Out_ HANDLE *pHandle);
-
- DECLSPEC_XFGVIRT(ID3D12Device, OpenSharedHandle)
- HRESULT ( STDMETHODCALLTYPE *OpenSharedHandle )(
- ID3D12Device5 * This,
- _In_ HANDLE NTHandle,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvObj);
-
- DECLSPEC_XFGVIRT(ID3D12Device, OpenSharedHandleByName)
- HRESULT ( STDMETHODCALLTYPE *OpenSharedHandleByName )(
- ID3D12Device5 * This,
- _In_ LPCWSTR Name,
- DWORD Access,
- /* [annotation][out] */
- _Out_ HANDLE *pNTHandle);
-
- DECLSPEC_XFGVIRT(ID3D12Device, MakeResident)
- HRESULT ( STDMETHODCALLTYPE *MakeResident )(
- ID3D12Device5 * This,
- UINT NumObjects,
- _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects);
-
- DECLSPEC_XFGVIRT(ID3D12Device, Evict)
- HRESULT ( STDMETHODCALLTYPE *Evict )(
- ID3D12Device5 * This,
- UINT NumObjects,
- _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateFence)
- HRESULT ( STDMETHODCALLTYPE *CreateFence )(
- ID3D12Device5 * This,
- UINT64 InitialValue,
- D3D12_FENCE_FLAGS Flags,
- REFIID riid,
- _COM_Outptr_ void **ppFence);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetDeviceRemovedReason)
- HRESULT ( STDMETHODCALLTYPE *GetDeviceRemovedReason )(
- ID3D12Device5 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetCopyableFootprints)
- void ( STDMETHODCALLTYPE *GetCopyableFootprints )(
- ID3D12Device5 * This,
- _In_ const D3D12_RESOURCE_DESC *pResourceDesc,
- _In_range_(0,D3D12_REQ_SUBRESOURCES) UINT FirstSubresource,
- _In_range_(0,D3D12_REQ_SUBRESOURCES-FirstSubresource) UINT NumSubresources,
- UINT64 BaseOffset,
- _Out_writes_opt_(NumSubresources) D3D12_PLACED_SUBRESOURCE_FOOTPRINT *pLayouts,
- _Out_writes_opt_(NumSubresources) UINT *pNumRows,
- _Out_writes_opt_(NumSubresources) UINT64 *pRowSizeInBytes,
- _Out_opt_ UINT64 *pTotalBytes);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateQueryHeap)
- HRESULT ( STDMETHODCALLTYPE *CreateQueryHeap )(
- ID3D12Device5 * This,
- _In_ const D3D12_QUERY_HEAP_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device, SetStablePowerState)
- HRESULT ( STDMETHODCALLTYPE *SetStablePowerState )(
- ID3D12Device5 * This,
- BOOL Enable);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandSignature)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandSignature )(
- ID3D12Device5 * This,
- _In_ const D3D12_COMMAND_SIGNATURE_DESC *pDesc,
- _In_opt_ ID3D12RootSignature *pRootSignature,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvCommandSignature);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetResourceTiling)
- void ( STDMETHODCALLTYPE *GetResourceTiling )(
- ID3D12Device5 * This,
- _In_ ID3D12Resource *pTiledResource,
- _Out_opt_ UINT *pNumTilesForEntireResource,
- _Out_opt_ D3D12_PACKED_MIP_INFO *pPackedMipDesc,
- _Out_opt_ D3D12_TILE_SHAPE *pStandardTileShapeForNonPackedMips,
- _Inout_opt_ UINT *pNumSubresourceTilings,
- _In_ UINT FirstSubresourceTilingToGet,
- _Out_writes_(*pNumSubresourceTilings) D3D12_SUBRESOURCE_TILING *pSubresourceTilingsForNonPackedMips);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetAdapterLuid)
- #if !defined(_WIN32)
- LUID ( STDMETHODCALLTYPE *GetAdapterLuid )(
- ID3D12Device5 * This);
-
- #else
- LUID *( STDMETHODCALLTYPE *GetAdapterLuid )(
- ID3D12Device5 * This,
- LUID * RetVal);
-
- #endif
-
- DECLSPEC_XFGVIRT(ID3D12Device1, CreatePipelineLibrary)
- HRESULT ( STDMETHODCALLTYPE *CreatePipelineLibrary )(
- ID3D12Device5 * This,
- _In_reads_(BlobLength) const void *pLibraryBlob,
- SIZE_T BlobLength,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineLibrary);
-
- DECLSPEC_XFGVIRT(ID3D12Device1, SetEventOnMultipleFenceCompletion)
- HRESULT ( STDMETHODCALLTYPE *SetEventOnMultipleFenceCompletion )(
- ID3D12Device5 * This,
- _In_reads_(NumFences) ID3D12Fence *const *ppFences,
- _In_reads_(NumFences) const UINT64 *pFenceValues,
- UINT NumFences,
- D3D12_MULTIPLE_FENCE_WAIT_FLAGS Flags,
- HANDLE hEvent);
-
- DECLSPEC_XFGVIRT(ID3D12Device1, SetResidencyPriority)
- HRESULT ( STDMETHODCALLTYPE *SetResidencyPriority )(
- ID3D12Device5 * This,
- UINT NumObjects,
- _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects,
- _In_reads_(NumObjects) const D3D12_RESIDENCY_PRIORITY *pPriorities);
-
- DECLSPEC_XFGVIRT(ID3D12Device2, CreatePipelineState)
- HRESULT ( STDMETHODCALLTYPE *CreatePipelineState )(
- ID3D12Device5 * This,
- const D3D12_PIPELINE_STATE_STREAM_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineState);
-
- DECLSPEC_XFGVIRT(ID3D12Device3, OpenExistingHeapFromAddress)
- HRESULT ( STDMETHODCALLTYPE *OpenExistingHeapFromAddress )(
- ID3D12Device5 * This,
- _In_ const void *pAddress,
- REFIID riid,
- _COM_Outptr_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device3, OpenExistingHeapFromFileMapping)
- HRESULT ( STDMETHODCALLTYPE *OpenExistingHeapFromFileMapping )(
- ID3D12Device5 * This,
- _In_ HANDLE hFileMapping,
- REFIID riid,
- _COM_Outptr_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device3, EnqueueMakeResident)
- HRESULT ( STDMETHODCALLTYPE *EnqueueMakeResident )(
- ID3D12Device5 * This,
- D3D12_RESIDENCY_FLAGS Flags,
- UINT NumObjects,
- _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects,
- _In_ ID3D12Fence *pFenceToSignal,
- UINT64 FenceValueToSignal);
-
- DECLSPEC_XFGVIRT(ID3D12Device4, CreateCommandList1)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandList1 )(
- ID3D12Device5 * This,
- _In_ UINT nodeMask,
- _In_ D3D12_COMMAND_LIST_TYPE type,
- _In_ D3D12_COMMAND_LIST_FLAGS flags,
- REFIID riid,
- _COM_Outptr_ void **ppCommandList);
-
- DECLSPEC_XFGVIRT(ID3D12Device4, CreateProtectedResourceSession)
- HRESULT ( STDMETHODCALLTYPE *CreateProtectedResourceSession )(
- ID3D12Device5 * This,
- _In_ const D3D12_PROTECTED_RESOURCE_SESSION_DESC *pDesc,
- _In_ REFIID riid,
- _COM_Outptr_ void **ppSession);
-
- DECLSPEC_XFGVIRT(ID3D12Device4, CreateCommittedResource1)
- HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource1 )(
- ID3D12Device5 * This,
- _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties,
- D3D12_HEAP_FLAGS HeapFlags,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialResourceState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
- REFIID riidResource,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device4, CreateHeap1)
- HRESULT ( STDMETHODCALLTYPE *CreateHeap1 )(
- ID3D12Device5 * This,
- _In_ const D3D12_HEAP_DESC *pDesc,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device4, CreateReservedResource1)
- HRESULT ( STDMETHODCALLTYPE *CreateReservedResource1 )(
- ID3D12Device5 * This,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device4, GetResourceAllocationInfo1)
- #if !defined(_WIN32)
- D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo1 )(
- ID3D12Device5 * This,
- UINT visibleMask,
- UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs,
- _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1);
-
- #else
- D3D12_RESOURCE_ALLOCATION_INFO *( STDMETHODCALLTYPE *GetResourceAllocationInfo1 )(
- ID3D12Device5 * This,
- D3D12_RESOURCE_ALLOCATION_INFO * RetVal,
- UINT visibleMask,
- UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs,
- _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1);
-
- #endif
-
- DECLSPEC_XFGVIRT(ID3D12Device5, CreateLifetimeTracker)
- HRESULT ( STDMETHODCALLTYPE *CreateLifetimeTracker )(
- ID3D12Device5 * This,
- _In_ ID3D12LifetimeOwner *pOwner,
- REFIID riid,
- _COM_Outptr_ void **ppvTracker);
-
- DECLSPEC_XFGVIRT(ID3D12Device5, RemoveDevice)
- void ( STDMETHODCALLTYPE *RemoveDevice )(
- ID3D12Device5 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Device5, EnumerateMetaCommands)
- HRESULT ( STDMETHODCALLTYPE *EnumerateMetaCommands )(
- ID3D12Device5 * This,
- _Inout_ UINT *pNumMetaCommands,
- _Out_writes_opt_(*pNumMetaCommands) D3D12_META_COMMAND_DESC *pDescs);
-
- DECLSPEC_XFGVIRT(ID3D12Device5, EnumerateMetaCommandParameters)
- HRESULT ( STDMETHODCALLTYPE *EnumerateMetaCommandParameters )(
- ID3D12Device5 * This,
- _In_ REFGUID CommandId,
- _In_ D3D12_META_COMMAND_PARAMETER_STAGE Stage,
- _Out_opt_ UINT *pTotalStructureSizeInBytes,
- _Inout_ UINT *pParameterCount,
- _Out_writes_opt_(*pParameterCount) D3D12_META_COMMAND_PARAMETER_DESC *pParameterDescs);
-
- DECLSPEC_XFGVIRT(ID3D12Device5, CreateMetaCommand)
- HRESULT ( STDMETHODCALLTYPE *CreateMetaCommand )(
- ID3D12Device5 * This,
- _In_ REFGUID CommandId,
- _In_ UINT NodeMask,
- _In_reads_bytes_opt_(CreationParametersDataSizeInBytes) const void *pCreationParametersData,
- _In_ SIZE_T CreationParametersDataSizeInBytes,
- REFIID riid,
- _COM_Outptr_ void **ppMetaCommand);
-
- DECLSPEC_XFGVIRT(ID3D12Device5, CreateStateObject)
- HRESULT ( STDMETHODCALLTYPE *CreateStateObject )(
- ID3D12Device5 * This,
- const D3D12_STATE_OBJECT_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppStateObject);
-
- DECLSPEC_XFGVIRT(ID3D12Device5, GetRaytracingAccelerationStructurePrebuildInfo)
- void ( STDMETHODCALLTYPE *GetRaytracingAccelerationStructurePrebuildInfo )(
- ID3D12Device5 * This,
- _In_ const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS *pDesc,
- _Out_ D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO *pInfo);
-
- DECLSPEC_XFGVIRT(ID3D12Device5, CheckDriverMatchingIdentifier)
- D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS ( STDMETHODCALLTYPE *CheckDriverMatchingIdentifier )(
- ID3D12Device5 * This,
- _In_ D3D12_SERIALIZED_DATA_TYPE SerializedDataType,
- _In_ const D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER *pIdentifierToCheck);
-
- END_INTERFACE
- } ID3D12Device5Vtbl;
- interface ID3D12Device5
- {
- CONST_VTBL struct ID3D12Device5Vtbl *lpVtbl;
- };
-
- #ifdef COBJMACROS
- #define ID3D12Device5_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define ID3D12Device5_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define ID3D12Device5_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #define ID3D12Device5_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
- #define ID3D12Device5_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
- #define ID3D12Device5_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
- #define ID3D12Device5_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
- #define ID3D12Device5_GetNodeCount(This) \
- ( (This)->lpVtbl -> GetNodeCount(This) )
- #define ID3D12Device5_CreateCommandQueue(This,pDesc,riid,ppCommandQueue) \
- ( (This)->lpVtbl -> CreateCommandQueue(This,pDesc,riid,ppCommandQueue) )
- #define ID3D12Device5_CreateCommandAllocator(This,type,riid,ppCommandAllocator) \
- ( (This)->lpVtbl -> CreateCommandAllocator(This,type,riid,ppCommandAllocator) )
- #define ID3D12Device5_CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) \
- ( (This)->lpVtbl -> CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) )
- #define ID3D12Device5_CreateComputePipelineState(This,pDesc,riid,ppPipelineState) \
- ( (This)->lpVtbl -> CreateComputePipelineState(This,pDesc,riid,ppPipelineState) )
- #define ID3D12Device5_CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) \
- ( (This)->lpVtbl -> CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) )
- #define ID3D12Device5_CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) \
- ( (This)->lpVtbl -> CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) )
- #define ID3D12Device5_CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) \
- ( (This)->lpVtbl -> CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) )
- #define ID3D12Device5_GetDescriptorHandleIncrementSize(This,DescriptorHeapType) \
- ( (This)->lpVtbl -> GetDescriptorHandleIncrementSize(This,DescriptorHeapType) )
- #define ID3D12Device5_CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) \
- ( (This)->lpVtbl -> CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) )
- #define ID3D12Device5_CreateConstantBufferView(This,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateConstantBufferView(This,pDesc,DestDescriptor) )
- #define ID3D12Device5_CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) )
- #define ID3D12Device5_CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) )
- #define ID3D12Device5_CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) )
- #define ID3D12Device5_CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) )
- #define ID3D12Device5_CreateSampler(This,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateSampler(This,pDesc,DestDescriptor) )
- #define ID3D12Device5_CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) \
- ( (This)->lpVtbl -> CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) )
- #define ID3D12Device5_CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) \
- ( (This)->lpVtbl -> CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) )
- #if !defined(_WIN32)
- #define ID3D12Device5_GetResourceAllocationInfo(This,visibleMask,numResourceDescs,pResourceDescs) \
- ( (This)->lpVtbl -> GetResourceAllocationInfo(This,visibleMask,numResourceDescs,pResourceDescs) )
- #else
- #define ID3D12Device5_GetResourceAllocationInfo(This,RetVal,visibleMask,numResourceDescs,pResourceDescs) \
- ( (This)->lpVtbl -> GetResourceAllocationInfo(This,RetVal,visibleMask,numResourceDescs,pResourceDescs) )
- #endif
- #if !defined(_WIN32)
- #define ID3D12Device5_GetCustomHeapProperties(This,nodeMask,heapType) \
- ( (This)->lpVtbl -> GetCustomHeapProperties(This,nodeMask,heapType) )
- #else
- #define ID3D12Device5_GetCustomHeapProperties(This,RetVal,nodeMask,heapType) \
- ( (This)->lpVtbl -> GetCustomHeapProperties(This,RetVal,nodeMask,heapType) )
- #endif
- #define ID3D12Device5_CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) \
- ( (This)->lpVtbl -> CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) )
- #define ID3D12Device5_CreateHeap(This,pDesc,riid,ppvHeap) \
- ( (This)->lpVtbl -> CreateHeap(This,pDesc,riid,ppvHeap) )
- #define ID3D12Device5_CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
- ( (This)->lpVtbl -> CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
- #define ID3D12Device5_CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
- ( (This)->lpVtbl -> CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
- #define ID3D12Device5_CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) \
- ( (This)->lpVtbl -> CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) )
- #define ID3D12Device5_OpenSharedHandle(This,NTHandle,riid,ppvObj) \
- ( (This)->lpVtbl -> OpenSharedHandle(This,NTHandle,riid,ppvObj) )
- #define ID3D12Device5_OpenSharedHandleByName(This,Name,Access,pNTHandle) \
- ( (This)->lpVtbl -> OpenSharedHandleByName(This,Name,Access,pNTHandle) )
- #define ID3D12Device5_MakeResident(This,NumObjects,ppObjects) \
- ( (This)->lpVtbl -> MakeResident(This,NumObjects,ppObjects) )
- #define ID3D12Device5_Evict(This,NumObjects,ppObjects) \
- ( (This)->lpVtbl -> Evict(This,NumObjects,ppObjects) )
- #define ID3D12Device5_CreateFence(This,InitialValue,Flags,riid,ppFence) \
- ( (This)->lpVtbl -> CreateFence(This,InitialValue,Flags,riid,ppFence) )
- #define ID3D12Device5_GetDeviceRemovedReason(This) \
- ( (This)->lpVtbl -> GetDeviceRemovedReason(This) )
- #define ID3D12Device5_GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) \
- ( (This)->lpVtbl -> GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) )
- #define ID3D12Device5_CreateQueryHeap(This,pDesc,riid,ppvHeap) \
- ( (This)->lpVtbl -> CreateQueryHeap(This,pDesc,riid,ppvHeap) )
- #define ID3D12Device5_SetStablePowerState(This,Enable) \
- ( (This)->lpVtbl -> SetStablePowerState(This,Enable) )
- #define ID3D12Device5_CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) \
- ( (This)->lpVtbl -> CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) )
- #define ID3D12Device5_GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) \
- ( (This)->lpVtbl -> GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) )
- #if !defined(_WIN32)
- #define ID3D12Device5_GetAdapterLuid(This) \
- ( (This)->lpVtbl -> GetAdapterLuid(This) )
- #else
- #define ID3D12Device5_GetAdapterLuid(This,RetVal) \
- ( (This)->lpVtbl -> GetAdapterLuid(This,RetVal) )
- #endif
- #define ID3D12Device5_CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) \
- ( (This)->lpVtbl -> CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) )
- #define ID3D12Device5_SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) \
- ( (This)->lpVtbl -> SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) )
- #define ID3D12Device5_SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) \
- ( (This)->lpVtbl -> SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) )
- #define ID3D12Device5_CreatePipelineState(This,pDesc,riid,ppPipelineState) \
- ( (This)->lpVtbl -> CreatePipelineState(This,pDesc,riid,ppPipelineState) )
- #define ID3D12Device5_OpenExistingHeapFromAddress(This,pAddress,riid,ppvHeap) \
- ( (This)->lpVtbl -> OpenExistingHeapFromAddress(This,pAddress,riid,ppvHeap) )
- #define ID3D12Device5_OpenExistingHeapFromFileMapping(This,hFileMapping,riid,ppvHeap) \
- ( (This)->lpVtbl -> OpenExistingHeapFromFileMapping(This,hFileMapping,riid,ppvHeap) )
- #define ID3D12Device5_EnqueueMakeResident(This,Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) \
- ( (This)->lpVtbl -> EnqueueMakeResident(This,Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) )
- #define ID3D12Device5_CreateCommandList1(This,nodeMask,type,flags,riid,ppCommandList) \
- ( (This)->lpVtbl -> CreateCommandList1(This,nodeMask,type,flags,riid,ppCommandList) )
- #define ID3D12Device5_CreateProtectedResourceSession(This,pDesc,riid,ppSession) \
- ( (This)->lpVtbl -> CreateProtectedResourceSession(This,pDesc,riid,ppSession) )
- #define ID3D12Device5_CreateCommittedResource1(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) \
- ( (This)->lpVtbl -> CreateCommittedResource1(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) )
- #define ID3D12Device5_CreateHeap1(This,pDesc,pProtectedSession,riid,ppvHeap) \
- ( (This)->lpVtbl -> CreateHeap1(This,pDesc,pProtectedSession,riid,ppvHeap) )
- #define ID3D12Device5_CreateReservedResource1(This,pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) \
- ( (This)->lpVtbl -> CreateReservedResource1(This,pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) )
- #if !defined(_WIN32)
- #define ID3D12Device5_GetResourceAllocationInfo1(This,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) \
- ( (This)->lpVtbl -> GetResourceAllocationInfo1(This,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) )
- #else
- #define ID3D12Device5_GetResourceAllocationInfo1(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) \
- ( (This)->lpVtbl -> GetResourceAllocationInfo1(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) )
- #endif
- #define ID3D12Device5_CreateLifetimeTracker(This,pOwner,riid,ppvTracker) \
- ( (This)->lpVtbl -> CreateLifetimeTracker(This,pOwner,riid,ppvTracker) )
- #define ID3D12Device5_RemoveDevice(This) \
- ( (This)->lpVtbl -> RemoveDevice(This) )
- #define ID3D12Device5_EnumerateMetaCommands(This,pNumMetaCommands,pDescs) \
- ( (This)->lpVtbl -> EnumerateMetaCommands(This,pNumMetaCommands,pDescs) )
- #define ID3D12Device5_EnumerateMetaCommandParameters(This,CommandId,Stage,pTotalStructureSizeInBytes,pParameterCount,pParameterDescs) \
- ( (This)->lpVtbl -> EnumerateMetaCommandParameters(This,CommandId,Stage,pTotalStructureSizeInBytes,pParameterCount,pParameterDescs) )
- #define ID3D12Device5_CreateMetaCommand(This,CommandId,NodeMask,pCreationParametersData,CreationParametersDataSizeInBytes,riid,ppMetaCommand) \
- ( (This)->lpVtbl -> CreateMetaCommand(This,CommandId,NodeMask,pCreationParametersData,CreationParametersDataSizeInBytes,riid,ppMetaCommand) )
- #define ID3D12Device5_CreateStateObject(This,pDesc,riid,ppStateObject) \
- ( (This)->lpVtbl -> CreateStateObject(This,pDesc,riid,ppStateObject) )
- #define ID3D12Device5_GetRaytracingAccelerationStructurePrebuildInfo(This,pDesc,pInfo) \
- ( (This)->lpVtbl -> GetRaytracingAccelerationStructurePrebuildInfo(This,pDesc,pInfo) )
- #define ID3D12Device5_CheckDriverMatchingIdentifier(This,SerializedDataType,pIdentifierToCheck) \
- ( (This)->lpVtbl -> CheckDriverMatchingIdentifier(This,SerializedDataType,pIdentifierToCheck) )
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __ID3D12Device5_INTERFACE_DEFINED__ */
- /* interface __MIDL_itf_d3d12_0000_0035 */
- /* [local] */
- typedef
- enum D3D12_AUTO_BREADCRUMB_OP
- {
- D3D12_AUTO_BREADCRUMB_OP_SETMARKER = 0,
- D3D12_AUTO_BREADCRUMB_OP_BEGINEVENT = 1,
- D3D12_AUTO_BREADCRUMB_OP_ENDEVENT = 2,
- D3D12_AUTO_BREADCRUMB_OP_DRAWINSTANCED = 3,
- D3D12_AUTO_BREADCRUMB_OP_DRAWINDEXEDINSTANCED = 4,
- D3D12_AUTO_BREADCRUMB_OP_EXECUTEINDIRECT = 5,
- D3D12_AUTO_BREADCRUMB_OP_DISPATCH = 6,
- D3D12_AUTO_BREADCRUMB_OP_COPYBUFFERREGION = 7,
- D3D12_AUTO_BREADCRUMB_OP_COPYTEXTUREREGION = 8,
- D3D12_AUTO_BREADCRUMB_OP_COPYRESOURCE = 9,
- D3D12_AUTO_BREADCRUMB_OP_COPYTILES = 10,
- D3D12_AUTO_BREADCRUMB_OP_RESOLVESUBRESOURCE = 11,
- D3D12_AUTO_BREADCRUMB_OP_CLEARRENDERTARGETVIEW = 12,
- D3D12_AUTO_BREADCRUMB_OP_CLEARUNORDEREDACCESSVIEW = 13,
- D3D12_AUTO_BREADCRUMB_OP_CLEARDEPTHSTENCILVIEW = 14,
- D3D12_AUTO_BREADCRUMB_OP_RESOURCEBARRIER = 15,
- D3D12_AUTO_BREADCRUMB_OP_EXECUTEBUNDLE = 16,
- D3D12_AUTO_BREADCRUMB_OP_PRESENT = 17,
- D3D12_AUTO_BREADCRUMB_OP_RESOLVEQUERYDATA = 18,
- D3D12_AUTO_BREADCRUMB_OP_BEGINSUBMISSION = 19,
- D3D12_AUTO_BREADCRUMB_OP_ENDSUBMISSION = 20,
- D3D12_AUTO_BREADCRUMB_OP_DECODEFRAME = 21,
- D3D12_AUTO_BREADCRUMB_OP_PROCESSFRAMES = 22,
- D3D12_AUTO_BREADCRUMB_OP_ATOMICCOPYBUFFERUINT = 23,
- D3D12_AUTO_BREADCRUMB_OP_ATOMICCOPYBUFFERUINT64 = 24,
- D3D12_AUTO_BREADCRUMB_OP_RESOLVESUBRESOURCEREGION = 25,
- D3D12_AUTO_BREADCRUMB_OP_WRITEBUFFERIMMEDIATE = 26,
- D3D12_AUTO_BREADCRUMB_OP_DECODEFRAME1 = 27,
- D3D12_AUTO_BREADCRUMB_OP_SETPROTECTEDRESOURCESESSION = 28,
- D3D12_AUTO_BREADCRUMB_OP_DECODEFRAME2 = 29,
- D3D12_AUTO_BREADCRUMB_OP_PROCESSFRAMES1 = 30,
- D3D12_AUTO_BREADCRUMB_OP_BUILDRAYTRACINGACCELERATIONSTRUCTURE = 31,
- D3D12_AUTO_BREADCRUMB_OP_EMITRAYTRACINGACCELERATIONSTRUCTUREPOSTBUILDINFO = 32,
- D3D12_AUTO_BREADCRUMB_OP_COPYRAYTRACINGACCELERATIONSTRUCTURE = 33,
- D3D12_AUTO_BREADCRUMB_OP_DISPATCHRAYS = 34,
- D3D12_AUTO_BREADCRUMB_OP_INITIALIZEMETACOMMAND = 35,
- D3D12_AUTO_BREADCRUMB_OP_EXECUTEMETACOMMAND = 36,
- D3D12_AUTO_BREADCRUMB_OP_ESTIMATEMOTION = 37,
- D3D12_AUTO_BREADCRUMB_OP_RESOLVEMOTIONVECTORHEAP = 38,
- D3D12_AUTO_BREADCRUMB_OP_SETPIPELINESTATE1 = 39,
- D3D12_AUTO_BREADCRUMB_OP_INITIALIZEEXTENSIONCOMMAND = 40,
- D3D12_AUTO_BREADCRUMB_OP_EXECUTEEXTENSIONCOMMAND = 41,
- D3D12_AUTO_BREADCRUMB_OP_DISPATCHMESH = 42,
- D3D12_AUTO_BREADCRUMB_OP_ENCODEFRAME = 43,
- D3D12_AUTO_BREADCRUMB_OP_RESOLVEENCODEROUTPUTMETADATA = 44,
- D3D12_AUTO_BREADCRUMB_OP_BARRIER = 45,
- D3D12_AUTO_BREADCRUMB_OP_BEGIN_COMMAND_LIST = 46
- } D3D12_AUTO_BREADCRUMB_OP;
- typedef struct D3D12_AUTO_BREADCRUMB_NODE
- {
- const char *pCommandListDebugNameA;
- const wchar_t *pCommandListDebugNameW;
- const char *pCommandQueueDebugNameA;
- const wchar_t *pCommandQueueDebugNameW;
- ID3D12GraphicsCommandList *pCommandList;
- ID3D12CommandQueue *pCommandQueue;
- UINT32 BreadcrumbCount;
- const UINT32 *pLastBreadcrumbValue;
- const D3D12_AUTO_BREADCRUMB_OP *pCommandHistory;
- const struct D3D12_AUTO_BREADCRUMB_NODE *pNext;
- } D3D12_AUTO_BREADCRUMB_NODE;
- typedef struct D3D12_DRED_BREADCRUMB_CONTEXT
- {
- UINT BreadcrumbIndex;
- const wchar_t *pContextString;
- } D3D12_DRED_BREADCRUMB_CONTEXT;
- typedef struct D3D12_AUTO_BREADCRUMB_NODE1
- {
- const char *pCommandListDebugNameA;
- const wchar_t *pCommandListDebugNameW;
- const char *pCommandQueueDebugNameA;
- const wchar_t *pCommandQueueDebugNameW;
- ID3D12GraphicsCommandList *pCommandList;
- ID3D12CommandQueue *pCommandQueue;
- UINT BreadcrumbCount;
- const UINT *pLastBreadcrumbValue;
- const D3D12_AUTO_BREADCRUMB_OP *pCommandHistory;
- const struct D3D12_AUTO_BREADCRUMB_NODE1 *pNext;
- UINT BreadcrumbContextsCount;
- D3D12_DRED_BREADCRUMB_CONTEXT *pBreadcrumbContexts;
- } D3D12_AUTO_BREADCRUMB_NODE1;
- typedef
- enum D3D12_DRED_VERSION
- {
- D3D12_DRED_VERSION_1_0 = 0x1,
- D3D12_DRED_VERSION_1_1 = 0x2,
- D3D12_DRED_VERSION_1_2 = 0x3,
- D3D12_DRED_VERSION_1_3 = 0x4
- } D3D12_DRED_VERSION;
- typedef
- enum D3D12_DRED_FLAGS
- {
- D3D12_DRED_FLAG_NONE = 0,
- D3D12_DRED_FLAG_FORCE_ENABLE = 1,
- D3D12_DRED_FLAG_DISABLE_AUTOBREADCRUMBS = 2
- } D3D12_DRED_FLAGS;
- DEFINE_ENUM_FLAG_OPERATORS( D3D12_DRED_FLAGS );
- typedef
- enum D3D12_DRED_ENABLEMENT
- {
- D3D12_DRED_ENABLEMENT_SYSTEM_CONTROLLED = 0,
- D3D12_DRED_ENABLEMENT_FORCED_OFF = 1,
- D3D12_DRED_ENABLEMENT_FORCED_ON = 2
- } D3D12_DRED_ENABLEMENT;
- typedef struct D3D12_DEVICE_REMOVED_EXTENDED_DATA
- {
- _In_ D3D12_DRED_FLAGS Flags;
- _Out_ D3D12_AUTO_BREADCRUMB_NODE *pHeadAutoBreadcrumbNode;
- } D3D12_DEVICE_REMOVED_EXTENDED_DATA;
- typedef
- enum D3D12_DRED_ALLOCATION_TYPE
- {
- D3D12_DRED_ALLOCATION_TYPE_COMMAND_QUEUE = 19,
- D3D12_DRED_ALLOCATION_TYPE_COMMAND_ALLOCATOR = 20,
- D3D12_DRED_ALLOCATION_TYPE_PIPELINE_STATE = 21,
- D3D12_DRED_ALLOCATION_TYPE_COMMAND_LIST = 22,
- D3D12_DRED_ALLOCATION_TYPE_FENCE = 23,
- D3D12_DRED_ALLOCATION_TYPE_DESCRIPTOR_HEAP = 24,
- D3D12_DRED_ALLOCATION_TYPE_HEAP = 25,
- D3D12_DRED_ALLOCATION_TYPE_QUERY_HEAP = 27,
- D3D12_DRED_ALLOCATION_TYPE_COMMAND_SIGNATURE = 28,
- D3D12_DRED_ALLOCATION_TYPE_PIPELINE_LIBRARY = 29,
- D3D12_DRED_ALLOCATION_TYPE_VIDEO_DECODER = 30,
- D3D12_DRED_ALLOCATION_TYPE_VIDEO_PROCESSOR = 32,
- D3D12_DRED_ALLOCATION_TYPE_RESOURCE = 34,
- D3D12_DRED_ALLOCATION_TYPE_PASS = 35,
- D3D12_DRED_ALLOCATION_TYPE_CRYPTOSESSION = 36,
- D3D12_DRED_ALLOCATION_TYPE_CRYPTOSESSIONPOLICY = 37,
- D3D12_DRED_ALLOCATION_TYPE_PROTECTEDRESOURCESESSION = 38,
- D3D12_DRED_ALLOCATION_TYPE_VIDEO_DECODER_HEAP = 39,
- D3D12_DRED_ALLOCATION_TYPE_COMMAND_POOL = 40,
- D3D12_DRED_ALLOCATION_TYPE_COMMAND_RECORDER = 41,
- D3D12_DRED_ALLOCATION_TYPE_STATE_OBJECT = 42,
- D3D12_DRED_ALLOCATION_TYPE_METACOMMAND = 43,
- D3D12_DRED_ALLOCATION_TYPE_SCHEDULINGGROUP = 44,
- D3D12_DRED_ALLOCATION_TYPE_VIDEO_MOTION_ESTIMATOR = 45,
- D3D12_DRED_ALLOCATION_TYPE_VIDEO_MOTION_VECTOR_HEAP = 46,
- D3D12_DRED_ALLOCATION_TYPE_VIDEO_EXTENSION_COMMAND = 47,
- D3D12_DRED_ALLOCATION_TYPE_VIDEO_ENCODER = 48,
- D3D12_DRED_ALLOCATION_TYPE_VIDEO_ENCODER_HEAP = 49,
- D3D12_DRED_ALLOCATION_TYPE_INVALID = 0xffffffff
- } D3D12_DRED_ALLOCATION_TYPE;
- typedef struct D3D12_DRED_ALLOCATION_NODE
- {
- const char *ObjectNameA;
- const wchar_t *ObjectNameW;
- D3D12_DRED_ALLOCATION_TYPE AllocationType;
- const struct D3D12_DRED_ALLOCATION_NODE *pNext;
- } D3D12_DRED_ALLOCATION_NODE;
- typedef struct D3D12_DRED_ALLOCATION_NODE1
- {
- const char *ObjectNameA;
- const wchar_t *ObjectNameW;
- D3D12_DRED_ALLOCATION_TYPE AllocationType;
- const struct D3D12_DRED_ALLOCATION_NODE1 *pNext;
- const IUnknown *pObject;
- } D3D12_DRED_ALLOCATION_NODE1;
- typedef struct D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT
- {
- _Out_ const D3D12_AUTO_BREADCRUMB_NODE *pHeadAutoBreadcrumbNode;
- } D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT;
- typedef struct D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT1
- {
- _Out_ const D3D12_AUTO_BREADCRUMB_NODE1 *pHeadAutoBreadcrumbNode;
- } D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT1;
- typedef struct D3D12_DRED_PAGE_FAULT_OUTPUT
- {
- D3D12_GPU_VIRTUAL_ADDRESS PageFaultVA;
- _Out_ const D3D12_DRED_ALLOCATION_NODE *pHeadExistingAllocationNode;
- _Out_ const D3D12_DRED_ALLOCATION_NODE *pHeadRecentFreedAllocationNode;
- } D3D12_DRED_PAGE_FAULT_OUTPUT;
- typedef struct D3D12_DRED_PAGE_FAULT_OUTPUT1
- {
- D3D12_GPU_VIRTUAL_ADDRESS PageFaultVA;
- _Out_ const D3D12_DRED_ALLOCATION_NODE1 *pHeadExistingAllocationNode;
- _Out_ const D3D12_DRED_ALLOCATION_NODE1 *pHeadRecentFreedAllocationNode;
- } D3D12_DRED_PAGE_FAULT_OUTPUT1;
- typedef
- enum D3D12_DRED_PAGE_FAULT_FLAGS
- {
- D3D12_DRED_PAGE_FAULT_FLAGS_NONE = 0
- } D3D12_DRED_PAGE_FAULT_FLAGS;
- DEFINE_ENUM_FLAG_OPERATORS( D3D12_DRED_PAGE_FAULT_FLAGS );
- typedef
- enum D3D12_DRED_DEVICE_STATE
- {
- D3D12_DRED_DEVICE_STATE_UNKNOWN = 0,
- D3D12_DRED_DEVICE_STATE_HUNG = 3,
- D3D12_DRED_DEVICE_STATE_FAULT = 6,
- D3D12_DRED_DEVICE_STATE_PAGEFAULT = 7
- } D3D12_DRED_DEVICE_STATE;
- typedef struct D3D12_DRED_PAGE_FAULT_OUTPUT2
- {
- D3D12_GPU_VIRTUAL_ADDRESS PageFaultVA;
- _Out_ const D3D12_DRED_ALLOCATION_NODE1 *pHeadExistingAllocationNode;
- _Out_ const D3D12_DRED_ALLOCATION_NODE1 *pHeadRecentFreedAllocationNode;
- D3D12_DRED_PAGE_FAULT_FLAGS PageFaultFlags;
- } D3D12_DRED_PAGE_FAULT_OUTPUT2;
- typedef struct D3D12_DEVICE_REMOVED_EXTENDED_DATA1
- {
- HRESULT DeviceRemovedReason;
- D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT AutoBreadcrumbsOutput;
- D3D12_DRED_PAGE_FAULT_OUTPUT PageFaultOutput;
- } D3D12_DEVICE_REMOVED_EXTENDED_DATA1;
- typedef struct D3D12_DEVICE_REMOVED_EXTENDED_DATA2
- {
- HRESULT DeviceRemovedReason;
- D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT1 AutoBreadcrumbsOutput;
- D3D12_DRED_PAGE_FAULT_OUTPUT1 PageFaultOutput;
- } D3D12_DEVICE_REMOVED_EXTENDED_DATA2;
- typedef struct D3D12_DEVICE_REMOVED_EXTENDED_DATA3
- {
- HRESULT DeviceRemovedReason;
- D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT1 AutoBreadcrumbsOutput;
- D3D12_DRED_PAGE_FAULT_OUTPUT2 PageFaultOutput;
- D3D12_DRED_DEVICE_STATE DeviceState;
- } D3D12_DEVICE_REMOVED_EXTENDED_DATA3;
- typedef struct D3D12_VERSIONED_DEVICE_REMOVED_EXTENDED_DATA
- {
- D3D12_DRED_VERSION Version;
- union
- {
- D3D12_DEVICE_REMOVED_EXTENDED_DATA Dred_1_0;
- D3D12_DEVICE_REMOVED_EXTENDED_DATA1 Dred_1_1;
- D3D12_DEVICE_REMOVED_EXTENDED_DATA2 Dred_1_2;
- D3D12_DEVICE_REMOVED_EXTENDED_DATA3 Dred_1_3;
- } ;
- } D3D12_VERSIONED_DEVICE_REMOVED_EXTENDED_DATA;
- extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0035_v0_0_c_ifspec;
- extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0035_v0_0_s_ifspec;
- #ifndef __ID3D12DeviceRemovedExtendedDataSettings_INTERFACE_DEFINED__
- #define __ID3D12DeviceRemovedExtendedDataSettings_INTERFACE_DEFINED__
- /* interface ID3D12DeviceRemovedExtendedDataSettings */
- /* [unique][local][object][uuid] */
- EXTERN_C const IID IID_ID3D12DeviceRemovedExtendedDataSettings;
- #if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("82BC481C-6B9B-4030-AEDB-7EE3D1DF1E63")
- ID3D12DeviceRemovedExtendedDataSettings : public IUnknown
- {
- public:
- virtual void STDMETHODCALLTYPE SetAutoBreadcrumbsEnablement(
- D3D12_DRED_ENABLEMENT Enablement) = 0;
-
- virtual void STDMETHODCALLTYPE SetPageFaultEnablement(
- D3D12_DRED_ENABLEMENT Enablement) = 0;
-
- virtual void STDMETHODCALLTYPE SetWatsonDumpEnablement(
- D3D12_DRED_ENABLEMENT Enablement) = 0;
-
- };
-
-
- #else /* C style interface */
- typedef struct ID3D12DeviceRemovedExtendedDataSettingsVtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12DeviceRemovedExtendedDataSettings * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12DeviceRemovedExtendedDataSettings * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12DeviceRemovedExtendedDataSettings * This);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceRemovedExtendedDataSettings, SetAutoBreadcrumbsEnablement)
- void ( STDMETHODCALLTYPE *SetAutoBreadcrumbsEnablement )(
- ID3D12DeviceRemovedExtendedDataSettings * This,
- D3D12_DRED_ENABLEMENT Enablement);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceRemovedExtendedDataSettings, SetPageFaultEnablement)
- void ( STDMETHODCALLTYPE *SetPageFaultEnablement )(
- ID3D12DeviceRemovedExtendedDataSettings * This,
- D3D12_DRED_ENABLEMENT Enablement);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceRemovedExtendedDataSettings, SetWatsonDumpEnablement)
- void ( STDMETHODCALLTYPE *SetWatsonDumpEnablement )(
- ID3D12DeviceRemovedExtendedDataSettings * This,
- D3D12_DRED_ENABLEMENT Enablement);
-
- END_INTERFACE
- } ID3D12DeviceRemovedExtendedDataSettingsVtbl;
- interface ID3D12DeviceRemovedExtendedDataSettings
- {
- CONST_VTBL struct ID3D12DeviceRemovedExtendedDataSettingsVtbl *lpVtbl;
- };
-
- #ifdef COBJMACROS
- #define ID3D12DeviceRemovedExtendedDataSettings_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define ID3D12DeviceRemovedExtendedDataSettings_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define ID3D12DeviceRemovedExtendedDataSettings_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #define ID3D12DeviceRemovedExtendedDataSettings_SetAutoBreadcrumbsEnablement(This,Enablement) \
- ( (This)->lpVtbl -> SetAutoBreadcrumbsEnablement(This,Enablement) )
- #define ID3D12DeviceRemovedExtendedDataSettings_SetPageFaultEnablement(This,Enablement) \
- ( (This)->lpVtbl -> SetPageFaultEnablement(This,Enablement) )
- #define ID3D12DeviceRemovedExtendedDataSettings_SetWatsonDumpEnablement(This,Enablement) \
- ( (This)->lpVtbl -> SetWatsonDumpEnablement(This,Enablement) )
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __ID3D12DeviceRemovedExtendedDataSettings_INTERFACE_DEFINED__ */
- #ifndef __ID3D12DeviceRemovedExtendedDataSettings1_INTERFACE_DEFINED__
- #define __ID3D12DeviceRemovedExtendedDataSettings1_INTERFACE_DEFINED__
- /* interface ID3D12DeviceRemovedExtendedDataSettings1 */
- /* [unique][local][object][uuid] */
- EXTERN_C const IID IID_ID3D12DeviceRemovedExtendedDataSettings1;
- #if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("DBD5AE51-3317-4F0A-ADF9-1D7CEDCAAE0B")
- ID3D12DeviceRemovedExtendedDataSettings1 : public ID3D12DeviceRemovedExtendedDataSettings
- {
- public:
- virtual void STDMETHODCALLTYPE SetBreadcrumbContextEnablement(
- D3D12_DRED_ENABLEMENT Enablement) = 0;
-
- };
-
-
- #else /* C style interface */
- typedef struct ID3D12DeviceRemovedExtendedDataSettings1Vtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12DeviceRemovedExtendedDataSettings1 * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12DeviceRemovedExtendedDataSettings1 * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12DeviceRemovedExtendedDataSettings1 * This);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceRemovedExtendedDataSettings, SetAutoBreadcrumbsEnablement)
- void ( STDMETHODCALLTYPE *SetAutoBreadcrumbsEnablement )(
- ID3D12DeviceRemovedExtendedDataSettings1 * This,
- D3D12_DRED_ENABLEMENT Enablement);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceRemovedExtendedDataSettings, SetPageFaultEnablement)
- void ( STDMETHODCALLTYPE *SetPageFaultEnablement )(
- ID3D12DeviceRemovedExtendedDataSettings1 * This,
- D3D12_DRED_ENABLEMENT Enablement);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceRemovedExtendedDataSettings, SetWatsonDumpEnablement)
- void ( STDMETHODCALLTYPE *SetWatsonDumpEnablement )(
- ID3D12DeviceRemovedExtendedDataSettings1 * This,
- D3D12_DRED_ENABLEMENT Enablement);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceRemovedExtendedDataSettings1, SetBreadcrumbContextEnablement)
- void ( STDMETHODCALLTYPE *SetBreadcrumbContextEnablement )(
- ID3D12DeviceRemovedExtendedDataSettings1 * This,
- D3D12_DRED_ENABLEMENT Enablement);
-
- END_INTERFACE
- } ID3D12DeviceRemovedExtendedDataSettings1Vtbl;
- interface ID3D12DeviceRemovedExtendedDataSettings1
- {
- CONST_VTBL struct ID3D12DeviceRemovedExtendedDataSettings1Vtbl *lpVtbl;
- };
-
- #ifdef COBJMACROS
- #define ID3D12DeviceRemovedExtendedDataSettings1_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define ID3D12DeviceRemovedExtendedDataSettings1_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define ID3D12DeviceRemovedExtendedDataSettings1_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #define ID3D12DeviceRemovedExtendedDataSettings1_SetAutoBreadcrumbsEnablement(This,Enablement) \
- ( (This)->lpVtbl -> SetAutoBreadcrumbsEnablement(This,Enablement) )
- #define ID3D12DeviceRemovedExtendedDataSettings1_SetPageFaultEnablement(This,Enablement) \
- ( (This)->lpVtbl -> SetPageFaultEnablement(This,Enablement) )
- #define ID3D12DeviceRemovedExtendedDataSettings1_SetWatsonDumpEnablement(This,Enablement) \
- ( (This)->lpVtbl -> SetWatsonDumpEnablement(This,Enablement) )
- #define ID3D12DeviceRemovedExtendedDataSettings1_SetBreadcrumbContextEnablement(This,Enablement) \
- ( (This)->lpVtbl -> SetBreadcrumbContextEnablement(This,Enablement) )
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __ID3D12DeviceRemovedExtendedDataSettings1_INTERFACE_DEFINED__ */
- #ifndef __ID3D12DeviceRemovedExtendedDataSettings2_INTERFACE_DEFINED__
- #define __ID3D12DeviceRemovedExtendedDataSettings2_INTERFACE_DEFINED__
- /* interface ID3D12DeviceRemovedExtendedDataSettings2 */
- /* [unique][local][object][uuid] */
- EXTERN_C const IID IID_ID3D12DeviceRemovedExtendedDataSettings2;
- #if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("61552388-01ab-4008-a436-83db189566ea")
- ID3D12DeviceRemovedExtendedDataSettings2 : public ID3D12DeviceRemovedExtendedDataSettings1
- {
- public:
- virtual void STDMETHODCALLTYPE UseMarkersOnlyAutoBreadcrumbs(
- BOOL MarkersOnly) = 0;
-
- };
-
-
- #else /* C style interface */
- typedef struct ID3D12DeviceRemovedExtendedDataSettings2Vtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12DeviceRemovedExtendedDataSettings2 * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12DeviceRemovedExtendedDataSettings2 * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12DeviceRemovedExtendedDataSettings2 * This);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceRemovedExtendedDataSettings, SetAutoBreadcrumbsEnablement)
- void ( STDMETHODCALLTYPE *SetAutoBreadcrumbsEnablement )(
- ID3D12DeviceRemovedExtendedDataSettings2 * This,
- D3D12_DRED_ENABLEMENT Enablement);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceRemovedExtendedDataSettings, SetPageFaultEnablement)
- void ( STDMETHODCALLTYPE *SetPageFaultEnablement )(
- ID3D12DeviceRemovedExtendedDataSettings2 * This,
- D3D12_DRED_ENABLEMENT Enablement);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceRemovedExtendedDataSettings, SetWatsonDumpEnablement)
- void ( STDMETHODCALLTYPE *SetWatsonDumpEnablement )(
- ID3D12DeviceRemovedExtendedDataSettings2 * This,
- D3D12_DRED_ENABLEMENT Enablement);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceRemovedExtendedDataSettings1, SetBreadcrumbContextEnablement)
- void ( STDMETHODCALLTYPE *SetBreadcrumbContextEnablement )(
- ID3D12DeviceRemovedExtendedDataSettings2 * This,
- D3D12_DRED_ENABLEMENT Enablement);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceRemovedExtendedDataSettings2, UseMarkersOnlyAutoBreadcrumbs)
- void ( STDMETHODCALLTYPE *UseMarkersOnlyAutoBreadcrumbs )(
- ID3D12DeviceRemovedExtendedDataSettings2 * This,
- BOOL MarkersOnly);
-
- END_INTERFACE
- } ID3D12DeviceRemovedExtendedDataSettings2Vtbl;
- interface ID3D12DeviceRemovedExtendedDataSettings2
- {
- CONST_VTBL struct ID3D12DeviceRemovedExtendedDataSettings2Vtbl *lpVtbl;
- };
-
- #ifdef COBJMACROS
- #define ID3D12DeviceRemovedExtendedDataSettings2_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define ID3D12DeviceRemovedExtendedDataSettings2_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define ID3D12DeviceRemovedExtendedDataSettings2_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #define ID3D12DeviceRemovedExtendedDataSettings2_SetAutoBreadcrumbsEnablement(This,Enablement) \
- ( (This)->lpVtbl -> SetAutoBreadcrumbsEnablement(This,Enablement) )
- #define ID3D12DeviceRemovedExtendedDataSettings2_SetPageFaultEnablement(This,Enablement) \
- ( (This)->lpVtbl -> SetPageFaultEnablement(This,Enablement) )
- #define ID3D12DeviceRemovedExtendedDataSettings2_SetWatsonDumpEnablement(This,Enablement) \
- ( (This)->lpVtbl -> SetWatsonDumpEnablement(This,Enablement) )
- #define ID3D12DeviceRemovedExtendedDataSettings2_SetBreadcrumbContextEnablement(This,Enablement) \
- ( (This)->lpVtbl -> SetBreadcrumbContextEnablement(This,Enablement) )
- #define ID3D12DeviceRemovedExtendedDataSettings2_UseMarkersOnlyAutoBreadcrumbs(This,MarkersOnly) \
- ( (This)->lpVtbl -> UseMarkersOnlyAutoBreadcrumbs(This,MarkersOnly) )
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __ID3D12DeviceRemovedExtendedDataSettings2_INTERFACE_DEFINED__ */
- #ifndef __ID3D12DeviceRemovedExtendedData_INTERFACE_DEFINED__
- #define __ID3D12DeviceRemovedExtendedData_INTERFACE_DEFINED__
- /* interface ID3D12DeviceRemovedExtendedData */
- /* [unique][local][object][uuid] */
- EXTERN_C const IID IID_ID3D12DeviceRemovedExtendedData;
- #if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("98931D33-5AE8-4791-AA3C-1A73A2934E71")
- ID3D12DeviceRemovedExtendedData : public IUnknown
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE GetAutoBreadcrumbsOutput(
- _Out_ D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT *pOutput) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetPageFaultAllocationOutput(
- _Out_ D3D12_DRED_PAGE_FAULT_OUTPUT *pOutput) = 0;
-
- };
-
-
- #else /* C style interface */
- typedef struct ID3D12DeviceRemovedExtendedDataVtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12DeviceRemovedExtendedData * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12DeviceRemovedExtendedData * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12DeviceRemovedExtendedData * This);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceRemovedExtendedData, GetAutoBreadcrumbsOutput)
- HRESULT ( STDMETHODCALLTYPE *GetAutoBreadcrumbsOutput )(
- ID3D12DeviceRemovedExtendedData * This,
- _Out_ D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT *pOutput);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceRemovedExtendedData, GetPageFaultAllocationOutput)
- HRESULT ( STDMETHODCALLTYPE *GetPageFaultAllocationOutput )(
- ID3D12DeviceRemovedExtendedData * This,
- _Out_ D3D12_DRED_PAGE_FAULT_OUTPUT *pOutput);
-
- END_INTERFACE
- } ID3D12DeviceRemovedExtendedDataVtbl;
- interface ID3D12DeviceRemovedExtendedData
- {
- CONST_VTBL struct ID3D12DeviceRemovedExtendedDataVtbl *lpVtbl;
- };
-
- #ifdef COBJMACROS
- #define ID3D12DeviceRemovedExtendedData_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define ID3D12DeviceRemovedExtendedData_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define ID3D12DeviceRemovedExtendedData_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #define ID3D12DeviceRemovedExtendedData_GetAutoBreadcrumbsOutput(This,pOutput) \
- ( (This)->lpVtbl -> GetAutoBreadcrumbsOutput(This,pOutput) )
- #define ID3D12DeviceRemovedExtendedData_GetPageFaultAllocationOutput(This,pOutput) \
- ( (This)->lpVtbl -> GetPageFaultAllocationOutput(This,pOutput) )
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __ID3D12DeviceRemovedExtendedData_INTERFACE_DEFINED__ */
- #ifndef __ID3D12DeviceRemovedExtendedData1_INTERFACE_DEFINED__
- #define __ID3D12DeviceRemovedExtendedData1_INTERFACE_DEFINED__
- /* interface ID3D12DeviceRemovedExtendedData1 */
- /* [unique][local][object][uuid] */
- EXTERN_C const IID IID_ID3D12DeviceRemovedExtendedData1;
- #if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("9727A022-CF1D-4DDA-9EBA-EFFA653FC506")
- ID3D12DeviceRemovedExtendedData1 : public ID3D12DeviceRemovedExtendedData
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE GetAutoBreadcrumbsOutput1(
- _Out_ D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT1 *pOutput) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetPageFaultAllocationOutput1(
- _Out_ D3D12_DRED_PAGE_FAULT_OUTPUT1 *pOutput) = 0;
-
- };
-
-
- #else /* C style interface */
- typedef struct ID3D12DeviceRemovedExtendedData1Vtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12DeviceRemovedExtendedData1 * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12DeviceRemovedExtendedData1 * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12DeviceRemovedExtendedData1 * This);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceRemovedExtendedData, GetAutoBreadcrumbsOutput)
- HRESULT ( STDMETHODCALLTYPE *GetAutoBreadcrumbsOutput )(
- ID3D12DeviceRemovedExtendedData1 * This,
- _Out_ D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT *pOutput);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceRemovedExtendedData, GetPageFaultAllocationOutput)
- HRESULT ( STDMETHODCALLTYPE *GetPageFaultAllocationOutput )(
- ID3D12DeviceRemovedExtendedData1 * This,
- _Out_ D3D12_DRED_PAGE_FAULT_OUTPUT *pOutput);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceRemovedExtendedData1, GetAutoBreadcrumbsOutput1)
- HRESULT ( STDMETHODCALLTYPE *GetAutoBreadcrumbsOutput1 )(
- ID3D12DeviceRemovedExtendedData1 * This,
- _Out_ D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT1 *pOutput);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceRemovedExtendedData1, GetPageFaultAllocationOutput1)
- HRESULT ( STDMETHODCALLTYPE *GetPageFaultAllocationOutput1 )(
- ID3D12DeviceRemovedExtendedData1 * This,
- _Out_ D3D12_DRED_PAGE_FAULT_OUTPUT1 *pOutput);
-
- END_INTERFACE
- } ID3D12DeviceRemovedExtendedData1Vtbl;
- interface ID3D12DeviceRemovedExtendedData1
- {
- CONST_VTBL struct ID3D12DeviceRemovedExtendedData1Vtbl *lpVtbl;
- };
-
- #ifdef COBJMACROS
- #define ID3D12DeviceRemovedExtendedData1_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define ID3D12DeviceRemovedExtendedData1_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define ID3D12DeviceRemovedExtendedData1_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #define ID3D12DeviceRemovedExtendedData1_GetAutoBreadcrumbsOutput(This,pOutput) \
- ( (This)->lpVtbl -> GetAutoBreadcrumbsOutput(This,pOutput) )
- #define ID3D12DeviceRemovedExtendedData1_GetPageFaultAllocationOutput(This,pOutput) \
- ( (This)->lpVtbl -> GetPageFaultAllocationOutput(This,pOutput) )
- #define ID3D12DeviceRemovedExtendedData1_GetAutoBreadcrumbsOutput1(This,pOutput) \
- ( (This)->lpVtbl -> GetAutoBreadcrumbsOutput1(This,pOutput) )
- #define ID3D12DeviceRemovedExtendedData1_GetPageFaultAllocationOutput1(This,pOutput) \
- ( (This)->lpVtbl -> GetPageFaultAllocationOutput1(This,pOutput) )
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __ID3D12DeviceRemovedExtendedData1_INTERFACE_DEFINED__ */
- #ifndef __ID3D12DeviceRemovedExtendedData2_INTERFACE_DEFINED__
- #define __ID3D12DeviceRemovedExtendedData2_INTERFACE_DEFINED__
- /* interface ID3D12DeviceRemovedExtendedData2 */
- /* [unique][local][object][uuid] */
- EXTERN_C const IID IID_ID3D12DeviceRemovedExtendedData2;
- #if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("67FC5816-E4CA-4915-BF18-42541272DA54")
- ID3D12DeviceRemovedExtendedData2 : public ID3D12DeviceRemovedExtendedData1
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE GetPageFaultAllocationOutput2(
- _Out_ D3D12_DRED_PAGE_FAULT_OUTPUT2 *pOutput) = 0;
-
- virtual D3D12_DRED_DEVICE_STATE STDMETHODCALLTYPE GetDeviceState( void) = 0;
-
- };
-
-
- #else /* C style interface */
- typedef struct ID3D12DeviceRemovedExtendedData2Vtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12DeviceRemovedExtendedData2 * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12DeviceRemovedExtendedData2 * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12DeviceRemovedExtendedData2 * This);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceRemovedExtendedData, GetAutoBreadcrumbsOutput)
- HRESULT ( STDMETHODCALLTYPE *GetAutoBreadcrumbsOutput )(
- ID3D12DeviceRemovedExtendedData2 * This,
- _Out_ D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT *pOutput);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceRemovedExtendedData, GetPageFaultAllocationOutput)
- HRESULT ( STDMETHODCALLTYPE *GetPageFaultAllocationOutput )(
- ID3D12DeviceRemovedExtendedData2 * This,
- _Out_ D3D12_DRED_PAGE_FAULT_OUTPUT *pOutput);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceRemovedExtendedData1, GetAutoBreadcrumbsOutput1)
- HRESULT ( STDMETHODCALLTYPE *GetAutoBreadcrumbsOutput1 )(
- ID3D12DeviceRemovedExtendedData2 * This,
- _Out_ D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT1 *pOutput);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceRemovedExtendedData1, GetPageFaultAllocationOutput1)
- HRESULT ( STDMETHODCALLTYPE *GetPageFaultAllocationOutput1 )(
- ID3D12DeviceRemovedExtendedData2 * This,
- _Out_ D3D12_DRED_PAGE_FAULT_OUTPUT1 *pOutput);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceRemovedExtendedData2, GetPageFaultAllocationOutput2)
- HRESULT ( STDMETHODCALLTYPE *GetPageFaultAllocationOutput2 )(
- ID3D12DeviceRemovedExtendedData2 * This,
- _Out_ D3D12_DRED_PAGE_FAULT_OUTPUT2 *pOutput);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceRemovedExtendedData2, GetDeviceState)
- D3D12_DRED_DEVICE_STATE ( STDMETHODCALLTYPE *GetDeviceState )(
- ID3D12DeviceRemovedExtendedData2 * This);
-
- END_INTERFACE
- } ID3D12DeviceRemovedExtendedData2Vtbl;
- interface ID3D12DeviceRemovedExtendedData2
- {
- CONST_VTBL struct ID3D12DeviceRemovedExtendedData2Vtbl *lpVtbl;
- };
-
- #ifdef COBJMACROS
- #define ID3D12DeviceRemovedExtendedData2_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define ID3D12DeviceRemovedExtendedData2_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define ID3D12DeviceRemovedExtendedData2_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #define ID3D12DeviceRemovedExtendedData2_GetAutoBreadcrumbsOutput(This,pOutput) \
- ( (This)->lpVtbl -> GetAutoBreadcrumbsOutput(This,pOutput) )
- #define ID3D12DeviceRemovedExtendedData2_GetPageFaultAllocationOutput(This,pOutput) \
- ( (This)->lpVtbl -> GetPageFaultAllocationOutput(This,pOutput) )
- #define ID3D12DeviceRemovedExtendedData2_GetAutoBreadcrumbsOutput1(This,pOutput) \
- ( (This)->lpVtbl -> GetAutoBreadcrumbsOutput1(This,pOutput) )
- #define ID3D12DeviceRemovedExtendedData2_GetPageFaultAllocationOutput1(This,pOutput) \
- ( (This)->lpVtbl -> GetPageFaultAllocationOutput1(This,pOutput) )
- #define ID3D12DeviceRemovedExtendedData2_GetPageFaultAllocationOutput2(This,pOutput) \
- ( (This)->lpVtbl -> GetPageFaultAllocationOutput2(This,pOutput) )
- #define ID3D12DeviceRemovedExtendedData2_GetDeviceState(This) \
- ( (This)->lpVtbl -> GetDeviceState(This) )
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __ID3D12DeviceRemovedExtendedData2_INTERFACE_DEFINED__ */
- /* interface __MIDL_itf_d3d12_0000_0041 */
- /* [local] */
- typedef
- enum D3D12_BACKGROUND_PROCESSING_MODE
- {
- D3D12_BACKGROUND_PROCESSING_MODE_ALLOWED = 0,
- D3D12_BACKGROUND_PROCESSING_MODE_ALLOW_INTRUSIVE_MEASUREMENTS = ( D3D12_BACKGROUND_PROCESSING_MODE_ALLOWED + 1 ) ,
- D3D12_BACKGROUND_PROCESSING_MODE_DISABLE_BACKGROUND_WORK = ( D3D12_BACKGROUND_PROCESSING_MODE_ALLOW_INTRUSIVE_MEASUREMENTS + 1 ) ,
- D3D12_BACKGROUND_PROCESSING_MODE_DISABLE_PROFILING_BY_SYSTEM = ( D3D12_BACKGROUND_PROCESSING_MODE_DISABLE_BACKGROUND_WORK + 1 )
- } D3D12_BACKGROUND_PROCESSING_MODE;
- typedef
- enum D3D12_MEASUREMENTS_ACTION
- {
- D3D12_MEASUREMENTS_ACTION_KEEP_ALL = 0,
- D3D12_MEASUREMENTS_ACTION_COMMIT_RESULTS = ( D3D12_MEASUREMENTS_ACTION_KEEP_ALL + 1 ) ,
- D3D12_MEASUREMENTS_ACTION_COMMIT_RESULTS_HIGH_PRIORITY = ( D3D12_MEASUREMENTS_ACTION_COMMIT_RESULTS + 1 ) ,
- D3D12_MEASUREMENTS_ACTION_DISCARD_PREVIOUS = ( D3D12_MEASUREMENTS_ACTION_COMMIT_RESULTS_HIGH_PRIORITY + 1 )
- } D3D12_MEASUREMENTS_ACTION;
- extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0041_v0_0_c_ifspec;
- extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0041_v0_0_s_ifspec;
- #ifndef __ID3D12Device6_INTERFACE_DEFINED__
- #define __ID3D12Device6_INTERFACE_DEFINED__
- /* interface ID3D12Device6 */
- /* [unique][local][object][uuid] */
- EXTERN_C const IID IID_ID3D12Device6;
- #if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("c70b221b-40e4-4a17-89af-025a0727a6dc")
- ID3D12Device6 : public ID3D12Device5
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE SetBackgroundProcessingMode(
- D3D12_BACKGROUND_PROCESSING_MODE Mode,
- D3D12_MEASUREMENTS_ACTION MeasurementsAction,
- _In_opt_ HANDLE hEventToSignalUponCompletion,
- _Out_opt_ BOOL *pbFurtherMeasurementsDesired) = 0;
-
- };
-
-
- #else /* C style interface */
- typedef struct ID3D12Device6Vtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12Device6 * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12Device6 * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12Device6 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12Device6 * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12Device6 * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12Device6 * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetName)
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12Device6 * This,
- _In_z_ LPCWSTR Name);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetNodeCount)
- UINT ( STDMETHODCALLTYPE *GetNodeCount )(
- ID3D12Device6 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandQueue)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandQueue )(
- ID3D12Device6 * This,
- _In_ const D3D12_COMMAND_QUEUE_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppCommandQueue);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandAllocator)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandAllocator )(
- ID3D12Device6 * This,
- _In_ D3D12_COMMAND_LIST_TYPE type,
- REFIID riid,
- _COM_Outptr_ void **ppCommandAllocator);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateGraphicsPipelineState)
- HRESULT ( STDMETHODCALLTYPE *CreateGraphicsPipelineState )(
- ID3D12Device6 * This,
- _In_ const D3D12_GRAPHICS_PIPELINE_STATE_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineState);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateComputePipelineState)
- HRESULT ( STDMETHODCALLTYPE *CreateComputePipelineState )(
- ID3D12Device6 * This,
- _In_ const D3D12_COMPUTE_PIPELINE_STATE_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineState);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandList)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandList )(
- ID3D12Device6 * This,
- _In_ UINT nodeMask,
- _In_ D3D12_COMMAND_LIST_TYPE type,
- _In_ ID3D12CommandAllocator *pCommandAllocator,
- _In_opt_ ID3D12PipelineState *pInitialState,
- REFIID riid,
- _COM_Outptr_ void **ppCommandList);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CheckFeatureSupport)
- HRESULT ( STDMETHODCALLTYPE *CheckFeatureSupport )(
- ID3D12Device6 * This,
- D3D12_FEATURE Feature,
- _Inout_updates_bytes_(FeatureSupportDataSize) void *pFeatureSupportData,
- UINT FeatureSupportDataSize);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateDescriptorHeap)
- HRESULT ( STDMETHODCALLTYPE *CreateDescriptorHeap )(
- ID3D12Device6 * This,
- _In_ const D3D12_DESCRIPTOR_HEAP_DESC *pDescriptorHeapDesc,
- REFIID riid,
- _COM_Outptr_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetDescriptorHandleIncrementSize)
- UINT ( STDMETHODCALLTYPE *GetDescriptorHandleIncrementSize )(
- ID3D12Device6 * This,
- _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapType);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateRootSignature)
- HRESULT ( STDMETHODCALLTYPE *CreateRootSignature )(
- ID3D12Device6 * This,
- _In_ UINT nodeMask,
- _In_reads_(blobLengthInBytes) const void *pBlobWithRootSignature,
- _In_ SIZE_T blobLengthInBytes,
- REFIID riid,
- _COM_Outptr_ void **ppvRootSignature);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateConstantBufferView)
- void ( STDMETHODCALLTYPE *CreateConstantBufferView )(
- ID3D12Device6 * This,
- _In_opt_ const D3D12_CONSTANT_BUFFER_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateShaderResourceView)
- void ( STDMETHODCALLTYPE *CreateShaderResourceView )(
- ID3D12Device6 * This,
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_SHADER_RESOURCE_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateUnorderedAccessView)
- void ( STDMETHODCALLTYPE *CreateUnorderedAccessView )(
- ID3D12Device6 * This,
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ ID3D12Resource *pCounterResource,
- _In_opt_ const D3D12_UNORDERED_ACCESS_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateRenderTargetView)
- void ( STDMETHODCALLTYPE *CreateRenderTargetView )(
- ID3D12Device6 * This,
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_RENDER_TARGET_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateDepthStencilView)
- void ( STDMETHODCALLTYPE *CreateDepthStencilView )(
- ID3D12Device6 * This,
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_DEPTH_STENCIL_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateSampler)
- void ( STDMETHODCALLTYPE *CreateSampler )(
- ID3D12Device6 * This,
- _In_ const D3D12_SAMPLER_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CopyDescriptors)
- void ( STDMETHODCALLTYPE *CopyDescriptors )(
- ID3D12Device6 * This,
- _In_ UINT NumDestDescriptorRanges,
- _In_reads_(NumDestDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pDestDescriptorRangeStarts,
- _In_reads_opt_(NumDestDescriptorRanges) const UINT *pDestDescriptorRangeSizes,
- _In_ UINT NumSrcDescriptorRanges,
- _In_reads_(NumSrcDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pSrcDescriptorRangeStarts,
- _In_reads_opt_(NumSrcDescriptorRanges) const UINT *pSrcDescriptorRangeSizes,
- _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CopyDescriptorsSimple)
- void ( STDMETHODCALLTYPE *CopyDescriptorsSimple )(
- ID3D12Device6 * This,
- _In_ UINT NumDescriptors,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptorRangeStart,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE SrcDescriptorRangeStart,
- _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetResourceAllocationInfo)
- #if !defined(_WIN32)
- D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo )(
- ID3D12Device6 * This,
- _In_ UINT visibleMask,
- _In_ UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs);
-
- #else
- D3D12_RESOURCE_ALLOCATION_INFO *( STDMETHODCALLTYPE *GetResourceAllocationInfo )(
- ID3D12Device6 * This,
- D3D12_RESOURCE_ALLOCATION_INFO * RetVal,
- _In_ UINT visibleMask,
- _In_ UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs);
-
- #endif
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetCustomHeapProperties)
- #if !defined(_WIN32)
- D3D12_HEAP_PROPERTIES ( STDMETHODCALLTYPE *GetCustomHeapProperties )(
- ID3D12Device6 * This,
- _In_ UINT nodeMask,
- D3D12_HEAP_TYPE heapType);
-
- #else
- D3D12_HEAP_PROPERTIES *( STDMETHODCALLTYPE *GetCustomHeapProperties )(
- ID3D12Device6 * This,
- D3D12_HEAP_PROPERTIES * RetVal,
- _In_ UINT nodeMask,
- D3D12_HEAP_TYPE heapType);
-
- #endif
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommittedResource)
- HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource )(
- ID3D12Device6 * This,
- _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties,
- D3D12_HEAP_FLAGS HeapFlags,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialResourceState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- REFIID riidResource,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateHeap)
- HRESULT ( STDMETHODCALLTYPE *CreateHeap )(
- ID3D12Device6 * This,
- _In_ const D3D12_HEAP_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreatePlacedResource)
- HRESULT ( STDMETHODCALLTYPE *CreatePlacedResource )(
- ID3D12Device6 * This,
- _In_ ID3D12Heap *pHeap,
- UINT64 HeapOffset,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateReservedResource)
- HRESULT ( STDMETHODCALLTYPE *CreateReservedResource )(
- ID3D12Device6 * This,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateSharedHandle)
- HRESULT ( STDMETHODCALLTYPE *CreateSharedHandle )(
- ID3D12Device6 * This,
- _In_ ID3D12DeviceChild *pObject,
- _In_opt_ const SECURITY_ATTRIBUTES *pAttributes,
- DWORD Access,
- _In_opt_ LPCWSTR Name,
- _Out_ HANDLE *pHandle);
-
- DECLSPEC_XFGVIRT(ID3D12Device, OpenSharedHandle)
- HRESULT ( STDMETHODCALLTYPE *OpenSharedHandle )(
- ID3D12Device6 * This,
- _In_ HANDLE NTHandle,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvObj);
-
- DECLSPEC_XFGVIRT(ID3D12Device, OpenSharedHandleByName)
- HRESULT ( STDMETHODCALLTYPE *OpenSharedHandleByName )(
- ID3D12Device6 * This,
- _In_ LPCWSTR Name,
- DWORD Access,
- /* [annotation][out] */
- _Out_ HANDLE *pNTHandle);
-
- DECLSPEC_XFGVIRT(ID3D12Device, MakeResident)
- HRESULT ( STDMETHODCALLTYPE *MakeResident )(
- ID3D12Device6 * This,
- UINT NumObjects,
- _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects);
-
- DECLSPEC_XFGVIRT(ID3D12Device, Evict)
- HRESULT ( STDMETHODCALLTYPE *Evict )(
- ID3D12Device6 * This,
- UINT NumObjects,
- _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateFence)
- HRESULT ( STDMETHODCALLTYPE *CreateFence )(
- ID3D12Device6 * This,
- UINT64 InitialValue,
- D3D12_FENCE_FLAGS Flags,
- REFIID riid,
- _COM_Outptr_ void **ppFence);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetDeviceRemovedReason)
- HRESULT ( STDMETHODCALLTYPE *GetDeviceRemovedReason )(
- ID3D12Device6 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetCopyableFootprints)
- void ( STDMETHODCALLTYPE *GetCopyableFootprints )(
- ID3D12Device6 * This,
- _In_ const D3D12_RESOURCE_DESC *pResourceDesc,
- _In_range_(0,D3D12_REQ_SUBRESOURCES) UINT FirstSubresource,
- _In_range_(0,D3D12_REQ_SUBRESOURCES-FirstSubresource) UINT NumSubresources,
- UINT64 BaseOffset,
- _Out_writes_opt_(NumSubresources) D3D12_PLACED_SUBRESOURCE_FOOTPRINT *pLayouts,
- _Out_writes_opt_(NumSubresources) UINT *pNumRows,
- _Out_writes_opt_(NumSubresources) UINT64 *pRowSizeInBytes,
- _Out_opt_ UINT64 *pTotalBytes);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateQueryHeap)
- HRESULT ( STDMETHODCALLTYPE *CreateQueryHeap )(
- ID3D12Device6 * This,
- _In_ const D3D12_QUERY_HEAP_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device, SetStablePowerState)
- HRESULT ( STDMETHODCALLTYPE *SetStablePowerState )(
- ID3D12Device6 * This,
- BOOL Enable);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandSignature)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandSignature )(
- ID3D12Device6 * This,
- _In_ const D3D12_COMMAND_SIGNATURE_DESC *pDesc,
- _In_opt_ ID3D12RootSignature *pRootSignature,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvCommandSignature);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetResourceTiling)
- void ( STDMETHODCALLTYPE *GetResourceTiling )(
- ID3D12Device6 * This,
- _In_ ID3D12Resource *pTiledResource,
- _Out_opt_ UINT *pNumTilesForEntireResource,
- _Out_opt_ D3D12_PACKED_MIP_INFO *pPackedMipDesc,
- _Out_opt_ D3D12_TILE_SHAPE *pStandardTileShapeForNonPackedMips,
- _Inout_opt_ UINT *pNumSubresourceTilings,
- _In_ UINT FirstSubresourceTilingToGet,
- _Out_writes_(*pNumSubresourceTilings) D3D12_SUBRESOURCE_TILING *pSubresourceTilingsForNonPackedMips);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetAdapterLuid)
- #if !defined(_WIN32)
- LUID ( STDMETHODCALLTYPE *GetAdapterLuid )(
- ID3D12Device6 * This);
-
- #else
- LUID *( STDMETHODCALLTYPE *GetAdapterLuid )(
- ID3D12Device6 * This,
- LUID * RetVal);
-
- #endif
-
- DECLSPEC_XFGVIRT(ID3D12Device1, CreatePipelineLibrary)
- HRESULT ( STDMETHODCALLTYPE *CreatePipelineLibrary )(
- ID3D12Device6 * This,
- _In_reads_(BlobLength) const void *pLibraryBlob,
- SIZE_T BlobLength,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineLibrary);
-
- DECLSPEC_XFGVIRT(ID3D12Device1, SetEventOnMultipleFenceCompletion)
- HRESULT ( STDMETHODCALLTYPE *SetEventOnMultipleFenceCompletion )(
- ID3D12Device6 * This,
- _In_reads_(NumFences) ID3D12Fence *const *ppFences,
- _In_reads_(NumFences) const UINT64 *pFenceValues,
- UINT NumFences,
- D3D12_MULTIPLE_FENCE_WAIT_FLAGS Flags,
- HANDLE hEvent);
-
- DECLSPEC_XFGVIRT(ID3D12Device1, SetResidencyPriority)
- HRESULT ( STDMETHODCALLTYPE *SetResidencyPriority )(
- ID3D12Device6 * This,
- UINT NumObjects,
- _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects,
- _In_reads_(NumObjects) const D3D12_RESIDENCY_PRIORITY *pPriorities);
-
- DECLSPEC_XFGVIRT(ID3D12Device2, CreatePipelineState)
- HRESULT ( STDMETHODCALLTYPE *CreatePipelineState )(
- ID3D12Device6 * This,
- const D3D12_PIPELINE_STATE_STREAM_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineState);
-
- DECLSPEC_XFGVIRT(ID3D12Device3, OpenExistingHeapFromAddress)
- HRESULT ( STDMETHODCALLTYPE *OpenExistingHeapFromAddress )(
- ID3D12Device6 * This,
- _In_ const void *pAddress,
- REFIID riid,
- _COM_Outptr_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device3, OpenExistingHeapFromFileMapping)
- HRESULT ( STDMETHODCALLTYPE *OpenExistingHeapFromFileMapping )(
- ID3D12Device6 * This,
- _In_ HANDLE hFileMapping,
- REFIID riid,
- _COM_Outptr_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device3, EnqueueMakeResident)
- HRESULT ( STDMETHODCALLTYPE *EnqueueMakeResident )(
- ID3D12Device6 * This,
- D3D12_RESIDENCY_FLAGS Flags,
- UINT NumObjects,
- _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects,
- _In_ ID3D12Fence *pFenceToSignal,
- UINT64 FenceValueToSignal);
-
- DECLSPEC_XFGVIRT(ID3D12Device4, CreateCommandList1)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandList1 )(
- ID3D12Device6 * This,
- _In_ UINT nodeMask,
- _In_ D3D12_COMMAND_LIST_TYPE type,
- _In_ D3D12_COMMAND_LIST_FLAGS flags,
- REFIID riid,
- _COM_Outptr_ void **ppCommandList);
-
- DECLSPEC_XFGVIRT(ID3D12Device4, CreateProtectedResourceSession)
- HRESULT ( STDMETHODCALLTYPE *CreateProtectedResourceSession )(
- ID3D12Device6 * This,
- _In_ const D3D12_PROTECTED_RESOURCE_SESSION_DESC *pDesc,
- _In_ REFIID riid,
- _COM_Outptr_ void **ppSession);
-
- DECLSPEC_XFGVIRT(ID3D12Device4, CreateCommittedResource1)
- HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource1 )(
- ID3D12Device6 * This,
- _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties,
- D3D12_HEAP_FLAGS HeapFlags,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialResourceState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
- REFIID riidResource,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device4, CreateHeap1)
- HRESULT ( STDMETHODCALLTYPE *CreateHeap1 )(
- ID3D12Device6 * This,
- _In_ const D3D12_HEAP_DESC *pDesc,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device4, CreateReservedResource1)
- HRESULT ( STDMETHODCALLTYPE *CreateReservedResource1 )(
- ID3D12Device6 * This,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device4, GetResourceAllocationInfo1)
- #if !defined(_WIN32)
- D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo1 )(
- ID3D12Device6 * This,
- UINT visibleMask,
- UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs,
- _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1);
-
- #else
- D3D12_RESOURCE_ALLOCATION_INFO *( STDMETHODCALLTYPE *GetResourceAllocationInfo1 )(
- ID3D12Device6 * This,
- D3D12_RESOURCE_ALLOCATION_INFO * RetVal,
- UINT visibleMask,
- UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs,
- _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1);
-
- #endif
-
- DECLSPEC_XFGVIRT(ID3D12Device5, CreateLifetimeTracker)
- HRESULT ( STDMETHODCALLTYPE *CreateLifetimeTracker )(
- ID3D12Device6 * This,
- _In_ ID3D12LifetimeOwner *pOwner,
- REFIID riid,
- _COM_Outptr_ void **ppvTracker);
-
- DECLSPEC_XFGVIRT(ID3D12Device5, RemoveDevice)
- void ( STDMETHODCALLTYPE *RemoveDevice )(
- ID3D12Device6 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Device5, EnumerateMetaCommands)
- HRESULT ( STDMETHODCALLTYPE *EnumerateMetaCommands )(
- ID3D12Device6 * This,
- _Inout_ UINT *pNumMetaCommands,
- _Out_writes_opt_(*pNumMetaCommands) D3D12_META_COMMAND_DESC *pDescs);
-
- DECLSPEC_XFGVIRT(ID3D12Device5, EnumerateMetaCommandParameters)
- HRESULT ( STDMETHODCALLTYPE *EnumerateMetaCommandParameters )(
- ID3D12Device6 * This,
- _In_ REFGUID CommandId,
- _In_ D3D12_META_COMMAND_PARAMETER_STAGE Stage,
- _Out_opt_ UINT *pTotalStructureSizeInBytes,
- _Inout_ UINT *pParameterCount,
- _Out_writes_opt_(*pParameterCount) D3D12_META_COMMAND_PARAMETER_DESC *pParameterDescs);
-
- DECLSPEC_XFGVIRT(ID3D12Device5, CreateMetaCommand)
- HRESULT ( STDMETHODCALLTYPE *CreateMetaCommand )(
- ID3D12Device6 * This,
- _In_ REFGUID CommandId,
- _In_ UINT NodeMask,
- _In_reads_bytes_opt_(CreationParametersDataSizeInBytes) const void *pCreationParametersData,
- _In_ SIZE_T CreationParametersDataSizeInBytes,
- REFIID riid,
- _COM_Outptr_ void **ppMetaCommand);
-
- DECLSPEC_XFGVIRT(ID3D12Device5, CreateStateObject)
- HRESULT ( STDMETHODCALLTYPE *CreateStateObject )(
- ID3D12Device6 * This,
- const D3D12_STATE_OBJECT_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppStateObject);
-
- DECLSPEC_XFGVIRT(ID3D12Device5, GetRaytracingAccelerationStructurePrebuildInfo)
- void ( STDMETHODCALLTYPE *GetRaytracingAccelerationStructurePrebuildInfo )(
- ID3D12Device6 * This,
- _In_ const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS *pDesc,
- _Out_ D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO *pInfo);
-
- DECLSPEC_XFGVIRT(ID3D12Device5, CheckDriverMatchingIdentifier)
- D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS ( STDMETHODCALLTYPE *CheckDriverMatchingIdentifier )(
- ID3D12Device6 * This,
- _In_ D3D12_SERIALIZED_DATA_TYPE SerializedDataType,
- _In_ const D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER *pIdentifierToCheck);
-
- DECLSPEC_XFGVIRT(ID3D12Device6, SetBackgroundProcessingMode)
- HRESULT ( STDMETHODCALLTYPE *SetBackgroundProcessingMode )(
- ID3D12Device6 * This,
- D3D12_BACKGROUND_PROCESSING_MODE Mode,
- D3D12_MEASUREMENTS_ACTION MeasurementsAction,
- _In_opt_ HANDLE hEventToSignalUponCompletion,
- _Out_opt_ BOOL *pbFurtherMeasurementsDesired);
-
- END_INTERFACE
- } ID3D12Device6Vtbl;
- interface ID3D12Device6
- {
- CONST_VTBL struct ID3D12Device6Vtbl *lpVtbl;
- };
-
- #ifdef COBJMACROS
- #define ID3D12Device6_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define ID3D12Device6_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define ID3D12Device6_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #define ID3D12Device6_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
- #define ID3D12Device6_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
- #define ID3D12Device6_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
- #define ID3D12Device6_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
- #define ID3D12Device6_GetNodeCount(This) \
- ( (This)->lpVtbl -> GetNodeCount(This) )
- #define ID3D12Device6_CreateCommandQueue(This,pDesc,riid,ppCommandQueue) \
- ( (This)->lpVtbl -> CreateCommandQueue(This,pDesc,riid,ppCommandQueue) )
- #define ID3D12Device6_CreateCommandAllocator(This,type,riid,ppCommandAllocator) \
- ( (This)->lpVtbl -> CreateCommandAllocator(This,type,riid,ppCommandAllocator) )
- #define ID3D12Device6_CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) \
- ( (This)->lpVtbl -> CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) )
- #define ID3D12Device6_CreateComputePipelineState(This,pDesc,riid,ppPipelineState) \
- ( (This)->lpVtbl -> CreateComputePipelineState(This,pDesc,riid,ppPipelineState) )
- #define ID3D12Device6_CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) \
- ( (This)->lpVtbl -> CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) )
- #define ID3D12Device6_CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) \
- ( (This)->lpVtbl -> CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) )
- #define ID3D12Device6_CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) \
- ( (This)->lpVtbl -> CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) )
- #define ID3D12Device6_GetDescriptorHandleIncrementSize(This,DescriptorHeapType) \
- ( (This)->lpVtbl -> GetDescriptorHandleIncrementSize(This,DescriptorHeapType) )
- #define ID3D12Device6_CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) \
- ( (This)->lpVtbl -> CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) )
- #define ID3D12Device6_CreateConstantBufferView(This,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateConstantBufferView(This,pDesc,DestDescriptor) )
- #define ID3D12Device6_CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) )
- #define ID3D12Device6_CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) )
- #define ID3D12Device6_CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) )
- #define ID3D12Device6_CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) )
- #define ID3D12Device6_CreateSampler(This,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateSampler(This,pDesc,DestDescriptor) )
- #define ID3D12Device6_CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) \
- ( (This)->lpVtbl -> CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) )
- #define ID3D12Device6_CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) \
- ( (This)->lpVtbl -> CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) )
- #if !defined(_WIN32)
- #define ID3D12Device6_GetResourceAllocationInfo(This,visibleMask,numResourceDescs,pResourceDescs) \
- ( (This)->lpVtbl -> GetResourceAllocationInfo(This,visibleMask,numResourceDescs,pResourceDescs) )
- #else
- #define ID3D12Device6_GetResourceAllocationInfo(This,RetVal,visibleMask,numResourceDescs,pResourceDescs) \
- ( (This)->lpVtbl -> GetResourceAllocationInfo(This,RetVal,visibleMask,numResourceDescs,pResourceDescs) )
- #endif
- #if !defined(_WIN32)
- #define ID3D12Device6_GetCustomHeapProperties(This,nodeMask,heapType) \
- ( (This)->lpVtbl -> GetCustomHeapProperties(This,nodeMask,heapType) )
- #else
- #define ID3D12Device6_GetCustomHeapProperties(This,RetVal,nodeMask,heapType) \
- ( (This)->lpVtbl -> GetCustomHeapProperties(This,RetVal,nodeMask,heapType) )
- #endif
- #define ID3D12Device6_CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) \
- ( (This)->lpVtbl -> CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) )
- #define ID3D12Device6_CreateHeap(This,pDesc,riid,ppvHeap) \
- ( (This)->lpVtbl -> CreateHeap(This,pDesc,riid,ppvHeap) )
- #define ID3D12Device6_CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
- ( (This)->lpVtbl -> CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
- #define ID3D12Device6_CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
- ( (This)->lpVtbl -> CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
- #define ID3D12Device6_CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) \
- ( (This)->lpVtbl -> CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) )
- #define ID3D12Device6_OpenSharedHandle(This,NTHandle,riid,ppvObj) \
- ( (This)->lpVtbl -> OpenSharedHandle(This,NTHandle,riid,ppvObj) )
- #define ID3D12Device6_OpenSharedHandleByName(This,Name,Access,pNTHandle) \
- ( (This)->lpVtbl -> OpenSharedHandleByName(This,Name,Access,pNTHandle) )
- #define ID3D12Device6_MakeResident(This,NumObjects,ppObjects) \
- ( (This)->lpVtbl -> MakeResident(This,NumObjects,ppObjects) )
- #define ID3D12Device6_Evict(This,NumObjects,ppObjects) \
- ( (This)->lpVtbl -> Evict(This,NumObjects,ppObjects) )
- #define ID3D12Device6_CreateFence(This,InitialValue,Flags,riid,ppFence) \
- ( (This)->lpVtbl -> CreateFence(This,InitialValue,Flags,riid,ppFence) )
- #define ID3D12Device6_GetDeviceRemovedReason(This) \
- ( (This)->lpVtbl -> GetDeviceRemovedReason(This) )
- #define ID3D12Device6_GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) \
- ( (This)->lpVtbl -> GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) )
- #define ID3D12Device6_CreateQueryHeap(This,pDesc,riid,ppvHeap) \
- ( (This)->lpVtbl -> CreateQueryHeap(This,pDesc,riid,ppvHeap) )
- #define ID3D12Device6_SetStablePowerState(This,Enable) \
- ( (This)->lpVtbl -> SetStablePowerState(This,Enable) )
- #define ID3D12Device6_CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) \
- ( (This)->lpVtbl -> CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) )
- #define ID3D12Device6_GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) \
- ( (This)->lpVtbl -> GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) )
- #if !defined(_WIN32)
- #define ID3D12Device6_GetAdapterLuid(This) \
- ( (This)->lpVtbl -> GetAdapterLuid(This) )
- #else
- #define ID3D12Device6_GetAdapterLuid(This,RetVal) \
- ( (This)->lpVtbl -> GetAdapterLuid(This,RetVal) )
- #endif
- #define ID3D12Device6_CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) \
- ( (This)->lpVtbl -> CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) )
- #define ID3D12Device6_SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) \
- ( (This)->lpVtbl -> SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) )
- #define ID3D12Device6_SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) \
- ( (This)->lpVtbl -> SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) )
- #define ID3D12Device6_CreatePipelineState(This,pDesc,riid,ppPipelineState) \
- ( (This)->lpVtbl -> CreatePipelineState(This,pDesc,riid,ppPipelineState) )
- #define ID3D12Device6_OpenExistingHeapFromAddress(This,pAddress,riid,ppvHeap) \
- ( (This)->lpVtbl -> OpenExistingHeapFromAddress(This,pAddress,riid,ppvHeap) )
- #define ID3D12Device6_OpenExistingHeapFromFileMapping(This,hFileMapping,riid,ppvHeap) \
- ( (This)->lpVtbl -> OpenExistingHeapFromFileMapping(This,hFileMapping,riid,ppvHeap) )
- #define ID3D12Device6_EnqueueMakeResident(This,Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) \
- ( (This)->lpVtbl -> EnqueueMakeResident(This,Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) )
- #define ID3D12Device6_CreateCommandList1(This,nodeMask,type,flags,riid,ppCommandList) \
- ( (This)->lpVtbl -> CreateCommandList1(This,nodeMask,type,flags,riid,ppCommandList) )
- #define ID3D12Device6_CreateProtectedResourceSession(This,pDesc,riid,ppSession) \
- ( (This)->lpVtbl -> CreateProtectedResourceSession(This,pDesc,riid,ppSession) )
- #define ID3D12Device6_CreateCommittedResource1(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) \
- ( (This)->lpVtbl -> CreateCommittedResource1(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) )
- #define ID3D12Device6_CreateHeap1(This,pDesc,pProtectedSession,riid,ppvHeap) \
- ( (This)->lpVtbl -> CreateHeap1(This,pDesc,pProtectedSession,riid,ppvHeap) )
- #define ID3D12Device6_CreateReservedResource1(This,pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) \
- ( (This)->lpVtbl -> CreateReservedResource1(This,pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) )
- #if !defined(_WIN32)
- #define ID3D12Device6_GetResourceAllocationInfo1(This,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) \
- ( (This)->lpVtbl -> GetResourceAllocationInfo1(This,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) )
- #else
- #define ID3D12Device6_GetResourceAllocationInfo1(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) \
- ( (This)->lpVtbl -> GetResourceAllocationInfo1(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) )
- #endif
- #define ID3D12Device6_CreateLifetimeTracker(This,pOwner,riid,ppvTracker) \
- ( (This)->lpVtbl -> CreateLifetimeTracker(This,pOwner,riid,ppvTracker) )
- #define ID3D12Device6_RemoveDevice(This) \
- ( (This)->lpVtbl -> RemoveDevice(This) )
- #define ID3D12Device6_EnumerateMetaCommands(This,pNumMetaCommands,pDescs) \
- ( (This)->lpVtbl -> EnumerateMetaCommands(This,pNumMetaCommands,pDescs) )
- #define ID3D12Device6_EnumerateMetaCommandParameters(This,CommandId,Stage,pTotalStructureSizeInBytes,pParameterCount,pParameterDescs) \
- ( (This)->lpVtbl -> EnumerateMetaCommandParameters(This,CommandId,Stage,pTotalStructureSizeInBytes,pParameterCount,pParameterDescs) )
- #define ID3D12Device6_CreateMetaCommand(This,CommandId,NodeMask,pCreationParametersData,CreationParametersDataSizeInBytes,riid,ppMetaCommand) \
- ( (This)->lpVtbl -> CreateMetaCommand(This,CommandId,NodeMask,pCreationParametersData,CreationParametersDataSizeInBytes,riid,ppMetaCommand) )
- #define ID3D12Device6_CreateStateObject(This,pDesc,riid,ppStateObject) \
- ( (This)->lpVtbl -> CreateStateObject(This,pDesc,riid,ppStateObject) )
- #define ID3D12Device6_GetRaytracingAccelerationStructurePrebuildInfo(This,pDesc,pInfo) \
- ( (This)->lpVtbl -> GetRaytracingAccelerationStructurePrebuildInfo(This,pDesc,pInfo) )
- #define ID3D12Device6_CheckDriverMatchingIdentifier(This,SerializedDataType,pIdentifierToCheck) \
- ( (This)->lpVtbl -> CheckDriverMatchingIdentifier(This,SerializedDataType,pIdentifierToCheck) )
- #define ID3D12Device6_SetBackgroundProcessingMode(This,Mode,MeasurementsAction,hEventToSignalUponCompletion,pbFurtherMeasurementsDesired) \
- ( (This)->lpVtbl -> SetBackgroundProcessingMode(This,Mode,MeasurementsAction,hEventToSignalUponCompletion,pbFurtherMeasurementsDesired) )
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __ID3D12Device6_INTERFACE_DEFINED__ */
- /* interface __MIDL_itf_d3d12_0000_0042 */
- /* [local] */
- DEFINE_GUID(D3D12_PROTECTED_RESOURCES_SESSION_HARDWARE_PROTECTED, 0x62B0084E, 0xC70E, 0x4DAA, 0xA1, 0x09, 0x30, 0xFF, 0x8D, 0x5A, 0x04, 0x82);
- typedef struct D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_TYPE_COUNT
- {
- UINT NodeIndex;
- UINT Count;
- } D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_TYPE_COUNT;
- typedef struct D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_TYPES
- {
- UINT NodeIndex;
- UINT Count;
- GUID *pTypes;
- } D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_TYPES;
- typedef struct D3D12_PROTECTED_RESOURCE_SESSION_DESC1
- {
- UINT NodeMask;
- D3D12_PROTECTED_RESOURCE_SESSION_FLAGS Flags;
- GUID ProtectionType;
- } D3D12_PROTECTED_RESOURCE_SESSION_DESC1;
- extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0042_v0_0_c_ifspec;
- extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0042_v0_0_s_ifspec;
- #ifndef __ID3D12ProtectedResourceSession1_INTERFACE_DEFINED__
- #define __ID3D12ProtectedResourceSession1_INTERFACE_DEFINED__
- /* interface ID3D12ProtectedResourceSession1 */
- /* [unique][local][object][uuid] */
- EXTERN_C const IID IID_ID3D12ProtectedResourceSession1;
- #if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("D6F12DD6-76FB-406E-8961-4296EEFC0409")
- ID3D12ProtectedResourceSession1 : public ID3D12ProtectedResourceSession
- {
- public:
- #if defined(_MSC_VER) || !defined(_WIN32)
- virtual D3D12_PROTECTED_RESOURCE_SESSION_DESC1 STDMETHODCALLTYPE GetDesc1( void) = 0;
- #else
- virtual D3D12_PROTECTED_RESOURCE_SESSION_DESC1 *STDMETHODCALLTYPE GetDesc1(
- D3D12_PROTECTED_RESOURCE_SESSION_DESC1 * RetVal) = 0;
- #endif
-
- };
-
-
- #else /* C style interface */
- typedef struct ID3D12ProtectedResourceSession1Vtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12ProtectedResourceSession1 * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12ProtectedResourceSession1 * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12ProtectedResourceSession1 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12ProtectedResourceSession1 * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12ProtectedResourceSession1 * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12ProtectedResourceSession1 * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetName)
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12ProtectedResourceSession1 * This,
- _In_z_ LPCWSTR Name);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice)
- HRESULT ( STDMETHODCALLTYPE *GetDevice )(
- ID3D12ProtectedResourceSession1 * This,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvDevice);
-
- DECLSPEC_XFGVIRT(ID3D12ProtectedSession, GetStatusFence)
- HRESULT ( STDMETHODCALLTYPE *GetStatusFence )(
- ID3D12ProtectedResourceSession1 * This,
- REFIID riid,
- _COM_Outptr_opt_ void **ppFence);
-
- DECLSPEC_XFGVIRT(ID3D12ProtectedSession, GetSessionStatus)
- D3D12_PROTECTED_SESSION_STATUS ( STDMETHODCALLTYPE *GetSessionStatus )(
- ID3D12ProtectedResourceSession1 * This);
-
- DECLSPEC_XFGVIRT(ID3D12ProtectedResourceSession, GetDesc)
- #if !defined(_WIN32)
- D3D12_PROTECTED_RESOURCE_SESSION_DESC ( STDMETHODCALLTYPE *GetDesc )(
- ID3D12ProtectedResourceSession1 * This);
-
- #else
- D3D12_PROTECTED_RESOURCE_SESSION_DESC *( STDMETHODCALLTYPE *GetDesc )(
- ID3D12ProtectedResourceSession1 * This,
- D3D12_PROTECTED_RESOURCE_SESSION_DESC * RetVal);
-
- #endif
-
- DECLSPEC_XFGVIRT(ID3D12ProtectedResourceSession1, GetDesc1)
- #if !defined(_WIN32)
- D3D12_PROTECTED_RESOURCE_SESSION_DESC1 ( STDMETHODCALLTYPE *GetDesc1 )(
- ID3D12ProtectedResourceSession1 * This);
-
- #else
- D3D12_PROTECTED_RESOURCE_SESSION_DESC1 *( STDMETHODCALLTYPE *GetDesc1 )(
- ID3D12ProtectedResourceSession1 * This,
- D3D12_PROTECTED_RESOURCE_SESSION_DESC1 * RetVal);
-
- #endif
-
- END_INTERFACE
- } ID3D12ProtectedResourceSession1Vtbl;
- interface ID3D12ProtectedResourceSession1
- {
- CONST_VTBL struct ID3D12ProtectedResourceSession1Vtbl *lpVtbl;
- };
-
- #ifdef COBJMACROS
- #define ID3D12ProtectedResourceSession1_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define ID3D12ProtectedResourceSession1_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define ID3D12ProtectedResourceSession1_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #define ID3D12ProtectedResourceSession1_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
- #define ID3D12ProtectedResourceSession1_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
- #define ID3D12ProtectedResourceSession1_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
- #define ID3D12ProtectedResourceSession1_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
- #define ID3D12ProtectedResourceSession1_GetDevice(This,riid,ppvDevice) \
- ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
- #define ID3D12ProtectedResourceSession1_GetStatusFence(This,riid,ppFence) \
- ( (This)->lpVtbl -> GetStatusFence(This,riid,ppFence) )
- #define ID3D12ProtectedResourceSession1_GetSessionStatus(This) \
- ( (This)->lpVtbl -> GetSessionStatus(This) )
- #if !defined(_WIN32)
- #define ID3D12ProtectedResourceSession1_GetDesc(This) \
- ( (This)->lpVtbl -> GetDesc(This) )
- #else
- #define ID3D12ProtectedResourceSession1_GetDesc(This,RetVal) \
- ( (This)->lpVtbl -> GetDesc(This,RetVal) )
- #endif
- #if !defined(_WIN32)
- #define ID3D12ProtectedResourceSession1_GetDesc1(This) \
- ( (This)->lpVtbl -> GetDesc1(This) )
- #else
- #define ID3D12ProtectedResourceSession1_GetDesc1(This,RetVal) \
- ( (This)->lpVtbl -> GetDesc1(This,RetVal) )
- #endif
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __ID3D12ProtectedResourceSession1_INTERFACE_DEFINED__ */
- #ifndef __ID3D12Device7_INTERFACE_DEFINED__
- #define __ID3D12Device7_INTERFACE_DEFINED__
- /* interface ID3D12Device7 */
- /* [unique][local][object][uuid] */
- EXTERN_C const IID IID_ID3D12Device7;
- #if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("5c014b53-68a1-4b9b-8bd1-dd6046b9358b")
- ID3D12Device7 : public ID3D12Device6
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE AddToStateObject(
- const D3D12_STATE_OBJECT_DESC *pAddition,
- ID3D12StateObject *pStateObjectToGrowFrom,
- REFIID riid,
- _COM_Outptr_ void **ppNewStateObject) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE CreateProtectedResourceSession1(
- _In_ const D3D12_PROTECTED_RESOURCE_SESSION_DESC1 *pDesc,
- _In_ REFIID riid,
- _COM_Outptr_ void **ppSession) = 0;
-
- };
-
-
- #else /* C style interface */
- typedef struct ID3D12Device7Vtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12Device7 * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12Device7 * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12Device7 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12Device7 * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12Device7 * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12Device7 * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetName)
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12Device7 * This,
- _In_z_ LPCWSTR Name);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetNodeCount)
- UINT ( STDMETHODCALLTYPE *GetNodeCount )(
- ID3D12Device7 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandQueue)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandQueue )(
- ID3D12Device7 * This,
- _In_ const D3D12_COMMAND_QUEUE_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppCommandQueue);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandAllocator)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandAllocator )(
- ID3D12Device7 * This,
- _In_ D3D12_COMMAND_LIST_TYPE type,
- REFIID riid,
- _COM_Outptr_ void **ppCommandAllocator);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateGraphicsPipelineState)
- HRESULT ( STDMETHODCALLTYPE *CreateGraphicsPipelineState )(
- ID3D12Device7 * This,
- _In_ const D3D12_GRAPHICS_PIPELINE_STATE_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineState);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateComputePipelineState)
- HRESULT ( STDMETHODCALLTYPE *CreateComputePipelineState )(
- ID3D12Device7 * This,
- _In_ const D3D12_COMPUTE_PIPELINE_STATE_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineState);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandList)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandList )(
- ID3D12Device7 * This,
- _In_ UINT nodeMask,
- _In_ D3D12_COMMAND_LIST_TYPE type,
- _In_ ID3D12CommandAllocator *pCommandAllocator,
- _In_opt_ ID3D12PipelineState *pInitialState,
- REFIID riid,
- _COM_Outptr_ void **ppCommandList);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CheckFeatureSupport)
- HRESULT ( STDMETHODCALLTYPE *CheckFeatureSupport )(
- ID3D12Device7 * This,
- D3D12_FEATURE Feature,
- _Inout_updates_bytes_(FeatureSupportDataSize) void *pFeatureSupportData,
- UINT FeatureSupportDataSize);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateDescriptorHeap)
- HRESULT ( STDMETHODCALLTYPE *CreateDescriptorHeap )(
- ID3D12Device7 * This,
- _In_ const D3D12_DESCRIPTOR_HEAP_DESC *pDescriptorHeapDesc,
- REFIID riid,
- _COM_Outptr_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetDescriptorHandleIncrementSize)
- UINT ( STDMETHODCALLTYPE *GetDescriptorHandleIncrementSize )(
- ID3D12Device7 * This,
- _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapType);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateRootSignature)
- HRESULT ( STDMETHODCALLTYPE *CreateRootSignature )(
- ID3D12Device7 * This,
- _In_ UINT nodeMask,
- _In_reads_(blobLengthInBytes) const void *pBlobWithRootSignature,
- _In_ SIZE_T blobLengthInBytes,
- REFIID riid,
- _COM_Outptr_ void **ppvRootSignature);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateConstantBufferView)
- void ( STDMETHODCALLTYPE *CreateConstantBufferView )(
- ID3D12Device7 * This,
- _In_opt_ const D3D12_CONSTANT_BUFFER_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateShaderResourceView)
- void ( STDMETHODCALLTYPE *CreateShaderResourceView )(
- ID3D12Device7 * This,
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_SHADER_RESOURCE_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateUnorderedAccessView)
- void ( STDMETHODCALLTYPE *CreateUnorderedAccessView )(
- ID3D12Device7 * This,
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ ID3D12Resource *pCounterResource,
- _In_opt_ const D3D12_UNORDERED_ACCESS_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateRenderTargetView)
- void ( STDMETHODCALLTYPE *CreateRenderTargetView )(
- ID3D12Device7 * This,
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_RENDER_TARGET_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateDepthStencilView)
- void ( STDMETHODCALLTYPE *CreateDepthStencilView )(
- ID3D12Device7 * This,
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_DEPTH_STENCIL_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateSampler)
- void ( STDMETHODCALLTYPE *CreateSampler )(
- ID3D12Device7 * This,
- _In_ const D3D12_SAMPLER_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CopyDescriptors)
- void ( STDMETHODCALLTYPE *CopyDescriptors )(
- ID3D12Device7 * This,
- _In_ UINT NumDestDescriptorRanges,
- _In_reads_(NumDestDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pDestDescriptorRangeStarts,
- _In_reads_opt_(NumDestDescriptorRanges) const UINT *pDestDescriptorRangeSizes,
- _In_ UINT NumSrcDescriptorRanges,
- _In_reads_(NumSrcDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pSrcDescriptorRangeStarts,
- _In_reads_opt_(NumSrcDescriptorRanges) const UINT *pSrcDescriptorRangeSizes,
- _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CopyDescriptorsSimple)
- void ( STDMETHODCALLTYPE *CopyDescriptorsSimple )(
- ID3D12Device7 * This,
- _In_ UINT NumDescriptors,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptorRangeStart,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE SrcDescriptorRangeStart,
- _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetResourceAllocationInfo)
- #if !defined(_WIN32)
- D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo )(
- ID3D12Device7 * This,
- _In_ UINT visibleMask,
- _In_ UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs);
-
- #else
- D3D12_RESOURCE_ALLOCATION_INFO *( STDMETHODCALLTYPE *GetResourceAllocationInfo )(
- ID3D12Device7 * This,
- D3D12_RESOURCE_ALLOCATION_INFO * RetVal,
- _In_ UINT visibleMask,
- _In_ UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs);
-
- #endif
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetCustomHeapProperties)
- #if !defined(_WIN32)
- D3D12_HEAP_PROPERTIES ( STDMETHODCALLTYPE *GetCustomHeapProperties )(
- ID3D12Device7 * This,
- _In_ UINT nodeMask,
- D3D12_HEAP_TYPE heapType);
-
- #else
- D3D12_HEAP_PROPERTIES *( STDMETHODCALLTYPE *GetCustomHeapProperties )(
- ID3D12Device7 * This,
- D3D12_HEAP_PROPERTIES * RetVal,
- _In_ UINT nodeMask,
- D3D12_HEAP_TYPE heapType);
-
- #endif
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommittedResource)
- HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource )(
- ID3D12Device7 * This,
- _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties,
- D3D12_HEAP_FLAGS HeapFlags,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialResourceState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- REFIID riidResource,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateHeap)
- HRESULT ( STDMETHODCALLTYPE *CreateHeap )(
- ID3D12Device7 * This,
- _In_ const D3D12_HEAP_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreatePlacedResource)
- HRESULT ( STDMETHODCALLTYPE *CreatePlacedResource )(
- ID3D12Device7 * This,
- _In_ ID3D12Heap *pHeap,
- UINT64 HeapOffset,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateReservedResource)
- HRESULT ( STDMETHODCALLTYPE *CreateReservedResource )(
- ID3D12Device7 * This,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateSharedHandle)
- HRESULT ( STDMETHODCALLTYPE *CreateSharedHandle )(
- ID3D12Device7 * This,
- _In_ ID3D12DeviceChild *pObject,
- _In_opt_ const SECURITY_ATTRIBUTES *pAttributes,
- DWORD Access,
- _In_opt_ LPCWSTR Name,
- _Out_ HANDLE *pHandle);
-
- DECLSPEC_XFGVIRT(ID3D12Device, OpenSharedHandle)
- HRESULT ( STDMETHODCALLTYPE *OpenSharedHandle )(
- ID3D12Device7 * This,
- _In_ HANDLE NTHandle,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvObj);
-
- DECLSPEC_XFGVIRT(ID3D12Device, OpenSharedHandleByName)
- HRESULT ( STDMETHODCALLTYPE *OpenSharedHandleByName )(
- ID3D12Device7 * This,
- _In_ LPCWSTR Name,
- DWORD Access,
- /* [annotation][out] */
- _Out_ HANDLE *pNTHandle);
-
- DECLSPEC_XFGVIRT(ID3D12Device, MakeResident)
- HRESULT ( STDMETHODCALLTYPE *MakeResident )(
- ID3D12Device7 * This,
- UINT NumObjects,
- _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects);
-
- DECLSPEC_XFGVIRT(ID3D12Device, Evict)
- HRESULT ( STDMETHODCALLTYPE *Evict )(
- ID3D12Device7 * This,
- UINT NumObjects,
- _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateFence)
- HRESULT ( STDMETHODCALLTYPE *CreateFence )(
- ID3D12Device7 * This,
- UINT64 InitialValue,
- D3D12_FENCE_FLAGS Flags,
- REFIID riid,
- _COM_Outptr_ void **ppFence);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetDeviceRemovedReason)
- HRESULT ( STDMETHODCALLTYPE *GetDeviceRemovedReason )(
- ID3D12Device7 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetCopyableFootprints)
- void ( STDMETHODCALLTYPE *GetCopyableFootprints )(
- ID3D12Device7 * This,
- _In_ const D3D12_RESOURCE_DESC *pResourceDesc,
- _In_range_(0,D3D12_REQ_SUBRESOURCES) UINT FirstSubresource,
- _In_range_(0,D3D12_REQ_SUBRESOURCES-FirstSubresource) UINT NumSubresources,
- UINT64 BaseOffset,
- _Out_writes_opt_(NumSubresources) D3D12_PLACED_SUBRESOURCE_FOOTPRINT *pLayouts,
- _Out_writes_opt_(NumSubresources) UINT *pNumRows,
- _Out_writes_opt_(NumSubresources) UINT64 *pRowSizeInBytes,
- _Out_opt_ UINT64 *pTotalBytes);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateQueryHeap)
- HRESULT ( STDMETHODCALLTYPE *CreateQueryHeap )(
- ID3D12Device7 * This,
- _In_ const D3D12_QUERY_HEAP_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device, SetStablePowerState)
- HRESULT ( STDMETHODCALLTYPE *SetStablePowerState )(
- ID3D12Device7 * This,
- BOOL Enable);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandSignature)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandSignature )(
- ID3D12Device7 * This,
- _In_ const D3D12_COMMAND_SIGNATURE_DESC *pDesc,
- _In_opt_ ID3D12RootSignature *pRootSignature,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvCommandSignature);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetResourceTiling)
- void ( STDMETHODCALLTYPE *GetResourceTiling )(
- ID3D12Device7 * This,
- _In_ ID3D12Resource *pTiledResource,
- _Out_opt_ UINT *pNumTilesForEntireResource,
- _Out_opt_ D3D12_PACKED_MIP_INFO *pPackedMipDesc,
- _Out_opt_ D3D12_TILE_SHAPE *pStandardTileShapeForNonPackedMips,
- _Inout_opt_ UINT *pNumSubresourceTilings,
- _In_ UINT FirstSubresourceTilingToGet,
- _Out_writes_(*pNumSubresourceTilings) D3D12_SUBRESOURCE_TILING *pSubresourceTilingsForNonPackedMips);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetAdapterLuid)
- #if !defined(_WIN32)
- LUID ( STDMETHODCALLTYPE *GetAdapterLuid )(
- ID3D12Device7 * This);
-
- #else
- LUID *( STDMETHODCALLTYPE *GetAdapterLuid )(
- ID3D12Device7 * This,
- LUID * RetVal);
-
- #endif
-
- DECLSPEC_XFGVIRT(ID3D12Device1, CreatePipelineLibrary)
- HRESULT ( STDMETHODCALLTYPE *CreatePipelineLibrary )(
- ID3D12Device7 * This,
- _In_reads_(BlobLength) const void *pLibraryBlob,
- SIZE_T BlobLength,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineLibrary);
-
- DECLSPEC_XFGVIRT(ID3D12Device1, SetEventOnMultipleFenceCompletion)
- HRESULT ( STDMETHODCALLTYPE *SetEventOnMultipleFenceCompletion )(
- ID3D12Device7 * This,
- _In_reads_(NumFences) ID3D12Fence *const *ppFences,
- _In_reads_(NumFences) const UINT64 *pFenceValues,
- UINT NumFences,
- D3D12_MULTIPLE_FENCE_WAIT_FLAGS Flags,
- HANDLE hEvent);
-
- DECLSPEC_XFGVIRT(ID3D12Device1, SetResidencyPriority)
- HRESULT ( STDMETHODCALLTYPE *SetResidencyPriority )(
- ID3D12Device7 * This,
- UINT NumObjects,
- _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects,
- _In_reads_(NumObjects) const D3D12_RESIDENCY_PRIORITY *pPriorities);
-
- DECLSPEC_XFGVIRT(ID3D12Device2, CreatePipelineState)
- HRESULT ( STDMETHODCALLTYPE *CreatePipelineState )(
- ID3D12Device7 * This,
- const D3D12_PIPELINE_STATE_STREAM_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineState);
-
- DECLSPEC_XFGVIRT(ID3D12Device3, OpenExistingHeapFromAddress)
- HRESULT ( STDMETHODCALLTYPE *OpenExistingHeapFromAddress )(
- ID3D12Device7 * This,
- _In_ const void *pAddress,
- REFIID riid,
- _COM_Outptr_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device3, OpenExistingHeapFromFileMapping)
- HRESULT ( STDMETHODCALLTYPE *OpenExistingHeapFromFileMapping )(
- ID3D12Device7 * This,
- _In_ HANDLE hFileMapping,
- REFIID riid,
- _COM_Outptr_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device3, EnqueueMakeResident)
- HRESULT ( STDMETHODCALLTYPE *EnqueueMakeResident )(
- ID3D12Device7 * This,
- D3D12_RESIDENCY_FLAGS Flags,
- UINT NumObjects,
- _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects,
- _In_ ID3D12Fence *pFenceToSignal,
- UINT64 FenceValueToSignal);
-
- DECLSPEC_XFGVIRT(ID3D12Device4, CreateCommandList1)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandList1 )(
- ID3D12Device7 * This,
- _In_ UINT nodeMask,
- _In_ D3D12_COMMAND_LIST_TYPE type,
- _In_ D3D12_COMMAND_LIST_FLAGS flags,
- REFIID riid,
- _COM_Outptr_ void **ppCommandList);
-
- DECLSPEC_XFGVIRT(ID3D12Device4, CreateProtectedResourceSession)
- HRESULT ( STDMETHODCALLTYPE *CreateProtectedResourceSession )(
- ID3D12Device7 * This,
- _In_ const D3D12_PROTECTED_RESOURCE_SESSION_DESC *pDesc,
- _In_ REFIID riid,
- _COM_Outptr_ void **ppSession);
-
- DECLSPEC_XFGVIRT(ID3D12Device4, CreateCommittedResource1)
- HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource1 )(
- ID3D12Device7 * This,
- _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties,
- D3D12_HEAP_FLAGS HeapFlags,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialResourceState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
- REFIID riidResource,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device4, CreateHeap1)
- HRESULT ( STDMETHODCALLTYPE *CreateHeap1 )(
- ID3D12Device7 * This,
- _In_ const D3D12_HEAP_DESC *pDesc,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device4, CreateReservedResource1)
- HRESULT ( STDMETHODCALLTYPE *CreateReservedResource1 )(
- ID3D12Device7 * This,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device4, GetResourceAllocationInfo1)
- #if !defined(_WIN32)
- D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo1 )(
- ID3D12Device7 * This,
- UINT visibleMask,
- UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs,
- _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1);
-
- #else
- D3D12_RESOURCE_ALLOCATION_INFO *( STDMETHODCALLTYPE *GetResourceAllocationInfo1 )(
- ID3D12Device7 * This,
- D3D12_RESOURCE_ALLOCATION_INFO * RetVal,
- UINT visibleMask,
- UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs,
- _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1);
-
- #endif
-
- DECLSPEC_XFGVIRT(ID3D12Device5, CreateLifetimeTracker)
- HRESULT ( STDMETHODCALLTYPE *CreateLifetimeTracker )(
- ID3D12Device7 * This,
- _In_ ID3D12LifetimeOwner *pOwner,
- REFIID riid,
- _COM_Outptr_ void **ppvTracker);
-
- DECLSPEC_XFGVIRT(ID3D12Device5, RemoveDevice)
- void ( STDMETHODCALLTYPE *RemoveDevice )(
- ID3D12Device7 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Device5, EnumerateMetaCommands)
- HRESULT ( STDMETHODCALLTYPE *EnumerateMetaCommands )(
- ID3D12Device7 * This,
- _Inout_ UINT *pNumMetaCommands,
- _Out_writes_opt_(*pNumMetaCommands) D3D12_META_COMMAND_DESC *pDescs);
-
- DECLSPEC_XFGVIRT(ID3D12Device5, EnumerateMetaCommandParameters)
- HRESULT ( STDMETHODCALLTYPE *EnumerateMetaCommandParameters )(
- ID3D12Device7 * This,
- _In_ REFGUID CommandId,
- _In_ D3D12_META_COMMAND_PARAMETER_STAGE Stage,
- _Out_opt_ UINT *pTotalStructureSizeInBytes,
- _Inout_ UINT *pParameterCount,
- _Out_writes_opt_(*pParameterCount) D3D12_META_COMMAND_PARAMETER_DESC *pParameterDescs);
-
- DECLSPEC_XFGVIRT(ID3D12Device5, CreateMetaCommand)
- HRESULT ( STDMETHODCALLTYPE *CreateMetaCommand )(
- ID3D12Device7 * This,
- _In_ REFGUID CommandId,
- _In_ UINT NodeMask,
- _In_reads_bytes_opt_(CreationParametersDataSizeInBytes) const void *pCreationParametersData,
- _In_ SIZE_T CreationParametersDataSizeInBytes,
- REFIID riid,
- _COM_Outptr_ void **ppMetaCommand);
-
- DECLSPEC_XFGVIRT(ID3D12Device5, CreateStateObject)
- HRESULT ( STDMETHODCALLTYPE *CreateStateObject )(
- ID3D12Device7 * This,
- const D3D12_STATE_OBJECT_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppStateObject);
-
- DECLSPEC_XFGVIRT(ID3D12Device5, GetRaytracingAccelerationStructurePrebuildInfo)
- void ( STDMETHODCALLTYPE *GetRaytracingAccelerationStructurePrebuildInfo )(
- ID3D12Device7 * This,
- _In_ const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS *pDesc,
- _Out_ D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO *pInfo);
-
- DECLSPEC_XFGVIRT(ID3D12Device5, CheckDriverMatchingIdentifier)
- D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS ( STDMETHODCALLTYPE *CheckDriverMatchingIdentifier )(
- ID3D12Device7 * This,
- _In_ D3D12_SERIALIZED_DATA_TYPE SerializedDataType,
- _In_ const D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER *pIdentifierToCheck);
-
- DECLSPEC_XFGVIRT(ID3D12Device6, SetBackgroundProcessingMode)
- HRESULT ( STDMETHODCALLTYPE *SetBackgroundProcessingMode )(
- ID3D12Device7 * This,
- D3D12_BACKGROUND_PROCESSING_MODE Mode,
- D3D12_MEASUREMENTS_ACTION MeasurementsAction,
- _In_opt_ HANDLE hEventToSignalUponCompletion,
- _Out_opt_ BOOL *pbFurtherMeasurementsDesired);
-
- DECLSPEC_XFGVIRT(ID3D12Device7, AddToStateObject)
- HRESULT ( STDMETHODCALLTYPE *AddToStateObject )(
- ID3D12Device7 * This,
- const D3D12_STATE_OBJECT_DESC *pAddition,
- ID3D12StateObject *pStateObjectToGrowFrom,
- REFIID riid,
- _COM_Outptr_ void **ppNewStateObject);
-
- DECLSPEC_XFGVIRT(ID3D12Device7, CreateProtectedResourceSession1)
- HRESULT ( STDMETHODCALLTYPE *CreateProtectedResourceSession1 )(
- ID3D12Device7 * This,
- _In_ const D3D12_PROTECTED_RESOURCE_SESSION_DESC1 *pDesc,
- _In_ REFIID riid,
- _COM_Outptr_ void **ppSession);
-
- END_INTERFACE
- } ID3D12Device7Vtbl;
- interface ID3D12Device7
- {
- CONST_VTBL struct ID3D12Device7Vtbl *lpVtbl;
- };
-
- #ifdef COBJMACROS
- #define ID3D12Device7_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define ID3D12Device7_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define ID3D12Device7_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #define ID3D12Device7_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
- #define ID3D12Device7_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
- #define ID3D12Device7_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
- #define ID3D12Device7_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
- #define ID3D12Device7_GetNodeCount(This) \
- ( (This)->lpVtbl -> GetNodeCount(This) )
- #define ID3D12Device7_CreateCommandQueue(This,pDesc,riid,ppCommandQueue) \
- ( (This)->lpVtbl -> CreateCommandQueue(This,pDesc,riid,ppCommandQueue) )
- #define ID3D12Device7_CreateCommandAllocator(This,type,riid,ppCommandAllocator) \
- ( (This)->lpVtbl -> CreateCommandAllocator(This,type,riid,ppCommandAllocator) )
- #define ID3D12Device7_CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) \
- ( (This)->lpVtbl -> CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) )
- #define ID3D12Device7_CreateComputePipelineState(This,pDesc,riid,ppPipelineState) \
- ( (This)->lpVtbl -> CreateComputePipelineState(This,pDesc,riid,ppPipelineState) )
- #define ID3D12Device7_CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) \
- ( (This)->lpVtbl -> CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) )
- #define ID3D12Device7_CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) \
- ( (This)->lpVtbl -> CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) )
- #define ID3D12Device7_CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) \
- ( (This)->lpVtbl -> CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) )
- #define ID3D12Device7_GetDescriptorHandleIncrementSize(This,DescriptorHeapType) \
- ( (This)->lpVtbl -> GetDescriptorHandleIncrementSize(This,DescriptorHeapType) )
- #define ID3D12Device7_CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) \
- ( (This)->lpVtbl -> CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) )
- #define ID3D12Device7_CreateConstantBufferView(This,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateConstantBufferView(This,pDesc,DestDescriptor) )
- #define ID3D12Device7_CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) )
- #define ID3D12Device7_CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) )
- #define ID3D12Device7_CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) )
- #define ID3D12Device7_CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) )
- #define ID3D12Device7_CreateSampler(This,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateSampler(This,pDesc,DestDescriptor) )
- #define ID3D12Device7_CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) \
- ( (This)->lpVtbl -> CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) )
- #define ID3D12Device7_CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) \
- ( (This)->lpVtbl -> CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) )
- #if !defined(_WIN32)
- #define ID3D12Device7_GetResourceAllocationInfo(This,visibleMask,numResourceDescs,pResourceDescs) \
- ( (This)->lpVtbl -> GetResourceAllocationInfo(This,visibleMask,numResourceDescs,pResourceDescs) )
- #else
- #define ID3D12Device7_GetResourceAllocationInfo(This,RetVal,visibleMask,numResourceDescs,pResourceDescs) \
- ( (This)->lpVtbl -> GetResourceAllocationInfo(This,RetVal,visibleMask,numResourceDescs,pResourceDescs) )
- #endif
- #if !defined(_WIN32)
- #define ID3D12Device7_GetCustomHeapProperties(This,nodeMask,heapType) \
- ( (This)->lpVtbl -> GetCustomHeapProperties(This,nodeMask,heapType) )
- #else
- #define ID3D12Device7_GetCustomHeapProperties(This,RetVal,nodeMask,heapType) \
- ( (This)->lpVtbl -> GetCustomHeapProperties(This,RetVal,nodeMask,heapType) )
- #endif
- #define ID3D12Device7_CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) \
- ( (This)->lpVtbl -> CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) )
- #define ID3D12Device7_CreateHeap(This,pDesc,riid,ppvHeap) \
- ( (This)->lpVtbl -> CreateHeap(This,pDesc,riid,ppvHeap) )
- #define ID3D12Device7_CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
- ( (This)->lpVtbl -> CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
- #define ID3D12Device7_CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
- ( (This)->lpVtbl -> CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
- #define ID3D12Device7_CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) \
- ( (This)->lpVtbl -> CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) )
- #define ID3D12Device7_OpenSharedHandle(This,NTHandle,riid,ppvObj) \
- ( (This)->lpVtbl -> OpenSharedHandle(This,NTHandle,riid,ppvObj) )
- #define ID3D12Device7_OpenSharedHandleByName(This,Name,Access,pNTHandle) \
- ( (This)->lpVtbl -> OpenSharedHandleByName(This,Name,Access,pNTHandle) )
- #define ID3D12Device7_MakeResident(This,NumObjects,ppObjects) \
- ( (This)->lpVtbl -> MakeResident(This,NumObjects,ppObjects) )
- #define ID3D12Device7_Evict(This,NumObjects,ppObjects) \
- ( (This)->lpVtbl -> Evict(This,NumObjects,ppObjects) )
- #define ID3D12Device7_CreateFence(This,InitialValue,Flags,riid,ppFence) \
- ( (This)->lpVtbl -> CreateFence(This,InitialValue,Flags,riid,ppFence) )
- #define ID3D12Device7_GetDeviceRemovedReason(This) \
- ( (This)->lpVtbl -> GetDeviceRemovedReason(This) )
- #define ID3D12Device7_GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) \
- ( (This)->lpVtbl -> GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) )
- #define ID3D12Device7_CreateQueryHeap(This,pDesc,riid,ppvHeap) \
- ( (This)->lpVtbl -> CreateQueryHeap(This,pDesc,riid,ppvHeap) )
- #define ID3D12Device7_SetStablePowerState(This,Enable) \
- ( (This)->lpVtbl -> SetStablePowerState(This,Enable) )
- #define ID3D12Device7_CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) \
- ( (This)->lpVtbl -> CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) )
- #define ID3D12Device7_GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) \
- ( (This)->lpVtbl -> GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) )
- #if !defined(_WIN32)
- #define ID3D12Device7_GetAdapterLuid(This) \
- ( (This)->lpVtbl -> GetAdapterLuid(This) )
- #else
- #define ID3D12Device7_GetAdapterLuid(This,RetVal) \
- ( (This)->lpVtbl -> GetAdapterLuid(This,RetVal) )
- #endif
- #define ID3D12Device7_CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) \
- ( (This)->lpVtbl -> CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) )
- #define ID3D12Device7_SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) \
- ( (This)->lpVtbl -> SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) )
- #define ID3D12Device7_SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) \
- ( (This)->lpVtbl -> SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) )
- #define ID3D12Device7_CreatePipelineState(This,pDesc,riid,ppPipelineState) \
- ( (This)->lpVtbl -> CreatePipelineState(This,pDesc,riid,ppPipelineState) )
- #define ID3D12Device7_OpenExistingHeapFromAddress(This,pAddress,riid,ppvHeap) \
- ( (This)->lpVtbl -> OpenExistingHeapFromAddress(This,pAddress,riid,ppvHeap) )
- #define ID3D12Device7_OpenExistingHeapFromFileMapping(This,hFileMapping,riid,ppvHeap) \
- ( (This)->lpVtbl -> OpenExistingHeapFromFileMapping(This,hFileMapping,riid,ppvHeap) )
- #define ID3D12Device7_EnqueueMakeResident(This,Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) \
- ( (This)->lpVtbl -> EnqueueMakeResident(This,Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) )
- #define ID3D12Device7_CreateCommandList1(This,nodeMask,type,flags,riid,ppCommandList) \
- ( (This)->lpVtbl -> CreateCommandList1(This,nodeMask,type,flags,riid,ppCommandList) )
- #define ID3D12Device7_CreateProtectedResourceSession(This,pDesc,riid,ppSession) \
- ( (This)->lpVtbl -> CreateProtectedResourceSession(This,pDesc,riid,ppSession) )
- #define ID3D12Device7_CreateCommittedResource1(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) \
- ( (This)->lpVtbl -> CreateCommittedResource1(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) )
- #define ID3D12Device7_CreateHeap1(This,pDesc,pProtectedSession,riid,ppvHeap) \
- ( (This)->lpVtbl -> CreateHeap1(This,pDesc,pProtectedSession,riid,ppvHeap) )
- #define ID3D12Device7_CreateReservedResource1(This,pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) \
- ( (This)->lpVtbl -> CreateReservedResource1(This,pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) )
- #if !defined(_WIN32)
- #define ID3D12Device7_GetResourceAllocationInfo1(This,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) \
- ( (This)->lpVtbl -> GetResourceAllocationInfo1(This,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) )
- #else
- #define ID3D12Device7_GetResourceAllocationInfo1(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) \
- ( (This)->lpVtbl -> GetResourceAllocationInfo1(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) )
- #endif
- #define ID3D12Device7_CreateLifetimeTracker(This,pOwner,riid,ppvTracker) \
- ( (This)->lpVtbl -> CreateLifetimeTracker(This,pOwner,riid,ppvTracker) )
- #define ID3D12Device7_RemoveDevice(This) \
- ( (This)->lpVtbl -> RemoveDevice(This) )
- #define ID3D12Device7_EnumerateMetaCommands(This,pNumMetaCommands,pDescs) \
- ( (This)->lpVtbl -> EnumerateMetaCommands(This,pNumMetaCommands,pDescs) )
- #define ID3D12Device7_EnumerateMetaCommandParameters(This,CommandId,Stage,pTotalStructureSizeInBytes,pParameterCount,pParameterDescs) \
- ( (This)->lpVtbl -> EnumerateMetaCommandParameters(This,CommandId,Stage,pTotalStructureSizeInBytes,pParameterCount,pParameterDescs) )
- #define ID3D12Device7_CreateMetaCommand(This,CommandId,NodeMask,pCreationParametersData,CreationParametersDataSizeInBytes,riid,ppMetaCommand) \
- ( (This)->lpVtbl -> CreateMetaCommand(This,CommandId,NodeMask,pCreationParametersData,CreationParametersDataSizeInBytes,riid,ppMetaCommand) )
- #define ID3D12Device7_CreateStateObject(This,pDesc,riid,ppStateObject) \
- ( (This)->lpVtbl -> CreateStateObject(This,pDesc,riid,ppStateObject) )
- #define ID3D12Device7_GetRaytracingAccelerationStructurePrebuildInfo(This,pDesc,pInfo) \
- ( (This)->lpVtbl -> GetRaytracingAccelerationStructurePrebuildInfo(This,pDesc,pInfo) )
- #define ID3D12Device7_CheckDriverMatchingIdentifier(This,SerializedDataType,pIdentifierToCheck) \
- ( (This)->lpVtbl -> CheckDriverMatchingIdentifier(This,SerializedDataType,pIdentifierToCheck) )
- #define ID3D12Device7_SetBackgroundProcessingMode(This,Mode,MeasurementsAction,hEventToSignalUponCompletion,pbFurtherMeasurementsDesired) \
- ( (This)->lpVtbl -> SetBackgroundProcessingMode(This,Mode,MeasurementsAction,hEventToSignalUponCompletion,pbFurtherMeasurementsDesired) )
- #define ID3D12Device7_AddToStateObject(This,pAddition,pStateObjectToGrowFrom,riid,ppNewStateObject) \
- ( (This)->lpVtbl -> AddToStateObject(This,pAddition,pStateObjectToGrowFrom,riid,ppNewStateObject) )
- #define ID3D12Device7_CreateProtectedResourceSession1(This,pDesc,riid,ppSession) \
- ( (This)->lpVtbl -> CreateProtectedResourceSession1(This,pDesc,riid,ppSession) )
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __ID3D12Device7_INTERFACE_DEFINED__ */
- #ifndef __ID3D12Device8_INTERFACE_DEFINED__
- #define __ID3D12Device8_INTERFACE_DEFINED__
- /* interface ID3D12Device8 */
- /* [unique][local][object][uuid] */
- EXTERN_C const IID IID_ID3D12Device8;
- #if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("9218E6BB-F944-4F7E-A75C-B1B2C7B701F3")
- ID3D12Device8 : public ID3D12Device7
- {
- public:
- #if defined(_MSC_VER) || !defined(_WIN32)
- virtual D3D12_RESOURCE_ALLOCATION_INFO STDMETHODCALLTYPE GetResourceAllocationInfo2(
- UINT visibleMask,
- UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC1 *pResourceDescs,
- _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1) = 0;
- #else
- virtual D3D12_RESOURCE_ALLOCATION_INFO *STDMETHODCALLTYPE GetResourceAllocationInfo2(
- D3D12_RESOURCE_ALLOCATION_INFO * RetVal,
- UINT visibleMask,
- UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC1 *pResourceDescs,
- _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1) = 0;
- #endif
-
- virtual HRESULT STDMETHODCALLTYPE CreateCommittedResource2(
- _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties,
- D3D12_HEAP_FLAGS HeapFlags,
- _In_ const D3D12_RESOURCE_DESC1 *pDesc,
- D3D12_RESOURCE_STATES InitialResourceState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
- REFIID riidResource,
- _COM_Outptr_opt_ void **ppvResource) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE CreatePlacedResource1(
- _In_ ID3D12Heap *pHeap,
- UINT64 HeapOffset,
- _In_ const D3D12_RESOURCE_DESC1 *pDesc,
- D3D12_RESOURCE_STATES InitialState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvResource) = 0;
-
- virtual void STDMETHODCALLTYPE CreateSamplerFeedbackUnorderedAccessView(
- _In_opt_ ID3D12Resource *pTargetedResource,
- _In_opt_ ID3D12Resource *pFeedbackResource,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor) = 0;
-
- virtual void STDMETHODCALLTYPE GetCopyableFootprints1(
- _In_ const D3D12_RESOURCE_DESC1 *pResourceDesc,
- _In_range_(0,D3D12_REQ_SUBRESOURCES) UINT FirstSubresource,
- _In_range_(0,D3D12_REQ_SUBRESOURCES-FirstSubresource) UINT NumSubresources,
- UINT64 BaseOffset,
- _Out_writes_opt_(NumSubresources) D3D12_PLACED_SUBRESOURCE_FOOTPRINT *pLayouts,
- _Out_writes_opt_(NumSubresources) UINT *pNumRows,
- _Out_writes_opt_(NumSubresources) UINT64 *pRowSizeInBytes,
- _Out_opt_ UINT64 *pTotalBytes) = 0;
-
- };
-
-
- #else /* C style interface */
- typedef struct ID3D12Device8Vtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12Device8 * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12Device8 * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12Device8 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12Device8 * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12Device8 * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12Device8 * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetName)
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12Device8 * This,
- _In_z_ LPCWSTR Name);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetNodeCount)
- UINT ( STDMETHODCALLTYPE *GetNodeCount )(
- ID3D12Device8 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandQueue)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandQueue )(
- ID3D12Device8 * This,
- _In_ const D3D12_COMMAND_QUEUE_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppCommandQueue);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandAllocator)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandAllocator )(
- ID3D12Device8 * This,
- _In_ D3D12_COMMAND_LIST_TYPE type,
- REFIID riid,
- _COM_Outptr_ void **ppCommandAllocator);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateGraphicsPipelineState)
- HRESULT ( STDMETHODCALLTYPE *CreateGraphicsPipelineState )(
- ID3D12Device8 * This,
- _In_ const D3D12_GRAPHICS_PIPELINE_STATE_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineState);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateComputePipelineState)
- HRESULT ( STDMETHODCALLTYPE *CreateComputePipelineState )(
- ID3D12Device8 * This,
- _In_ const D3D12_COMPUTE_PIPELINE_STATE_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineState);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandList)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandList )(
- ID3D12Device8 * This,
- _In_ UINT nodeMask,
- _In_ D3D12_COMMAND_LIST_TYPE type,
- _In_ ID3D12CommandAllocator *pCommandAllocator,
- _In_opt_ ID3D12PipelineState *pInitialState,
- REFIID riid,
- _COM_Outptr_ void **ppCommandList);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CheckFeatureSupport)
- HRESULT ( STDMETHODCALLTYPE *CheckFeatureSupport )(
- ID3D12Device8 * This,
- D3D12_FEATURE Feature,
- _Inout_updates_bytes_(FeatureSupportDataSize) void *pFeatureSupportData,
- UINT FeatureSupportDataSize);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateDescriptorHeap)
- HRESULT ( STDMETHODCALLTYPE *CreateDescriptorHeap )(
- ID3D12Device8 * This,
- _In_ const D3D12_DESCRIPTOR_HEAP_DESC *pDescriptorHeapDesc,
- REFIID riid,
- _COM_Outptr_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetDescriptorHandleIncrementSize)
- UINT ( STDMETHODCALLTYPE *GetDescriptorHandleIncrementSize )(
- ID3D12Device8 * This,
- _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapType);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateRootSignature)
- HRESULT ( STDMETHODCALLTYPE *CreateRootSignature )(
- ID3D12Device8 * This,
- _In_ UINT nodeMask,
- _In_reads_(blobLengthInBytes) const void *pBlobWithRootSignature,
- _In_ SIZE_T blobLengthInBytes,
- REFIID riid,
- _COM_Outptr_ void **ppvRootSignature);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateConstantBufferView)
- void ( STDMETHODCALLTYPE *CreateConstantBufferView )(
- ID3D12Device8 * This,
- _In_opt_ const D3D12_CONSTANT_BUFFER_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateShaderResourceView)
- void ( STDMETHODCALLTYPE *CreateShaderResourceView )(
- ID3D12Device8 * This,
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_SHADER_RESOURCE_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateUnorderedAccessView)
- void ( STDMETHODCALLTYPE *CreateUnorderedAccessView )(
- ID3D12Device8 * This,
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ ID3D12Resource *pCounterResource,
- _In_opt_ const D3D12_UNORDERED_ACCESS_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateRenderTargetView)
- void ( STDMETHODCALLTYPE *CreateRenderTargetView )(
- ID3D12Device8 * This,
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_RENDER_TARGET_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateDepthStencilView)
- void ( STDMETHODCALLTYPE *CreateDepthStencilView )(
- ID3D12Device8 * This,
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_DEPTH_STENCIL_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateSampler)
- void ( STDMETHODCALLTYPE *CreateSampler )(
- ID3D12Device8 * This,
- _In_ const D3D12_SAMPLER_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CopyDescriptors)
- void ( STDMETHODCALLTYPE *CopyDescriptors )(
- ID3D12Device8 * This,
- _In_ UINT NumDestDescriptorRanges,
- _In_reads_(NumDestDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pDestDescriptorRangeStarts,
- _In_reads_opt_(NumDestDescriptorRanges) const UINT *pDestDescriptorRangeSizes,
- _In_ UINT NumSrcDescriptorRanges,
- _In_reads_(NumSrcDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pSrcDescriptorRangeStarts,
- _In_reads_opt_(NumSrcDescriptorRanges) const UINT *pSrcDescriptorRangeSizes,
- _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CopyDescriptorsSimple)
- void ( STDMETHODCALLTYPE *CopyDescriptorsSimple )(
- ID3D12Device8 * This,
- _In_ UINT NumDescriptors,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptorRangeStart,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE SrcDescriptorRangeStart,
- _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetResourceAllocationInfo)
- #if !defined(_WIN32)
- D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo )(
- ID3D12Device8 * This,
- _In_ UINT visibleMask,
- _In_ UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs);
-
- #else
- D3D12_RESOURCE_ALLOCATION_INFO *( STDMETHODCALLTYPE *GetResourceAllocationInfo )(
- ID3D12Device8 * This,
- D3D12_RESOURCE_ALLOCATION_INFO * RetVal,
- _In_ UINT visibleMask,
- _In_ UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs);
-
- #endif
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetCustomHeapProperties)
- #if !defined(_WIN32)
- D3D12_HEAP_PROPERTIES ( STDMETHODCALLTYPE *GetCustomHeapProperties )(
- ID3D12Device8 * This,
- _In_ UINT nodeMask,
- D3D12_HEAP_TYPE heapType);
-
- #else
- D3D12_HEAP_PROPERTIES *( STDMETHODCALLTYPE *GetCustomHeapProperties )(
- ID3D12Device8 * This,
- D3D12_HEAP_PROPERTIES * RetVal,
- _In_ UINT nodeMask,
- D3D12_HEAP_TYPE heapType);
-
- #endif
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommittedResource)
- HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource )(
- ID3D12Device8 * This,
- _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties,
- D3D12_HEAP_FLAGS HeapFlags,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialResourceState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- REFIID riidResource,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateHeap)
- HRESULT ( STDMETHODCALLTYPE *CreateHeap )(
- ID3D12Device8 * This,
- _In_ const D3D12_HEAP_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreatePlacedResource)
- HRESULT ( STDMETHODCALLTYPE *CreatePlacedResource )(
- ID3D12Device8 * This,
- _In_ ID3D12Heap *pHeap,
- UINT64 HeapOffset,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateReservedResource)
- HRESULT ( STDMETHODCALLTYPE *CreateReservedResource )(
- ID3D12Device8 * This,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateSharedHandle)
- HRESULT ( STDMETHODCALLTYPE *CreateSharedHandle )(
- ID3D12Device8 * This,
- _In_ ID3D12DeviceChild *pObject,
- _In_opt_ const SECURITY_ATTRIBUTES *pAttributes,
- DWORD Access,
- _In_opt_ LPCWSTR Name,
- _Out_ HANDLE *pHandle);
-
- DECLSPEC_XFGVIRT(ID3D12Device, OpenSharedHandle)
- HRESULT ( STDMETHODCALLTYPE *OpenSharedHandle )(
- ID3D12Device8 * This,
- _In_ HANDLE NTHandle,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvObj);
-
- DECLSPEC_XFGVIRT(ID3D12Device, OpenSharedHandleByName)
- HRESULT ( STDMETHODCALLTYPE *OpenSharedHandleByName )(
- ID3D12Device8 * This,
- _In_ LPCWSTR Name,
- DWORD Access,
- /* [annotation][out] */
- _Out_ HANDLE *pNTHandle);
-
- DECLSPEC_XFGVIRT(ID3D12Device, MakeResident)
- HRESULT ( STDMETHODCALLTYPE *MakeResident )(
- ID3D12Device8 * This,
- UINT NumObjects,
- _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects);
-
- DECLSPEC_XFGVIRT(ID3D12Device, Evict)
- HRESULT ( STDMETHODCALLTYPE *Evict )(
- ID3D12Device8 * This,
- UINT NumObjects,
- _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateFence)
- HRESULT ( STDMETHODCALLTYPE *CreateFence )(
- ID3D12Device8 * This,
- UINT64 InitialValue,
- D3D12_FENCE_FLAGS Flags,
- REFIID riid,
- _COM_Outptr_ void **ppFence);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetDeviceRemovedReason)
- HRESULT ( STDMETHODCALLTYPE *GetDeviceRemovedReason )(
- ID3D12Device8 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetCopyableFootprints)
- void ( STDMETHODCALLTYPE *GetCopyableFootprints )(
- ID3D12Device8 * This,
- _In_ const D3D12_RESOURCE_DESC *pResourceDesc,
- _In_range_(0,D3D12_REQ_SUBRESOURCES) UINT FirstSubresource,
- _In_range_(0,D3D12_REQ_SUBRESOURCES-FirstSubresource) UINT NumSubresources,
- UINT64 BaseOffset,
- _Out_writes_opt_(NumSubresources) D3D12_PLACED_SUBRESOURCE_FOOTPRINT *pLayouts,
- _Out_writes_opt_(NumSubresources) UINT *pNumRows,
- _Out_writes_opt_(NumSubresources) UINT64 *pRowSizeInBytes,
- _Out_opt_ UINT64 *pTotalBytes);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateQueryHeap)
- HRESULT ( STDMETHODCALLTYPE *CreateQueryHeap )(
- ID3D12Device8 * This,
- _In_ const D3D12_QUERY_HEAP_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device, SetStablePowerState)
- HRESULT ( STDMETHODCALLTYPE *SetStablePowerState )(
- ID3D12Device8 * This,
- BOOL Enable);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandSignature)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandSignature )(
- ID3D12Device8 * This,
- _In_ const D3D12_COMMAND_SIGNATURE_DESC *pDesc,
- _In_opt_ ID3D12RootSignature *pRootSignature,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvCommandSignature);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetResourceTiling)
- void ( STDMETHODCALLTYPE *GetResourceTiling )(
- ID3D12Device8 * This,
- _In_ ID3D12Resource *pTiledResource,
- _Out_opt_ UINT *pNumTilesForEntireResource,
- _Out_opt_ D3D12_PACKED_MIP_INFO *pPackedMipDesc,
- _Out_opt_ D3D12_TILE_SHAPE *pStandardTileShapeForNonPackedMips,
- _Inout_opt_ UINT *pNumSubresourceTilings,
- _In_ UINT FirstSubresourceTilingToGet,
- _Out_writes_(*pNumSubresourceTilings) D3D12_SUBRESOURCE_TILING *pSubresourceTilingsForNonPackedMips);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetAdapterLuid)
- #if !defined(_WIN32)
- LUID ( STDMETHODCALLTYPE *GetAdapterLuid )(
- ID3D12Device8 * This);
-
- #else
- LUID *( STDMETHODCALLTYPE *GetAdapterLuid )(
- ID3D12Device8 * This,
- LUID * RetVal);
-
- #endif
-
- DECLSPEC_XFGVIRT(ID3D12Device1, CreatePipelineLibrary)
- HRESULT ( STDMETHODCALLTYPE *CreatePipelineLibrary )(
- ID3D12Device8 * This,
- _In_reads_(BlobLength) const void *pLibraryBlob,
- SIZE_T BlobLength,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineLibrary);
-
- DECLSPEC_XFGVIRT(ID3D12Device1, SetEventOnMultipleFenceCompletion)
- HRESULT ( STDMETHODCALLTYPE *SetEventOnMultipleFenceCompletion )(
- ID3D12Device8 * This,
- _In_reads_(NumFences) ID3D12Fence *const *ppFences,
- _In_reads_(NumFences) const UINT64 *pFenceValues,
- UINT NumFences,
- D3D12_MULTIPLE_FENCE_WAIT_FLAGS Flags,
- HANDLE hEvent);
-
- DECLSPEC_XFGVIRT(ID3D12Device1, SetResidencyPriority)
- HRESULT ( STDMETHODCALLTYPE *SetResidencyPriority )(
- ID3D12Device8 * This,
- UINT NumObjects,
- _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects,
- _In_reads_(NumObjects) const D3D12_RESIDENCY_PRIORITY *pPriorities);
-
- DECLSPEC_XFGVIRT(ID3D12Device2, CreatePipelineState)
- HRESULT ( STDMETHODCALLTYPE *CreatePipelineState )(
- ID3D12Device8 * This,
- const D3D12_PIPELINE_STATE_STREAM_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineState);
-
- DECLSPEC_XFGVIRT(ID3D12Device3, OpenExistingHeapFromAddress)
- HRESULT ( STDMETHODCALLTYPE *OpenExistingHeapFromAddress )(
- ID3D12Device8 * This,
- _In_ const void *pAddress,
- REFIID riid,
- _COM_Outptr_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device3, OpenExistingHeapFromFileMapping)
- HRESULT ( STDMETHODCALLTYPE *OpenExistingHeapFromFileMapping )(
- ID3D12Device8 * This,
- _In_ HANDLE hFileMapping,
- REFIID riid,
- _COM_Outptr_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device3, EnqueueMakeResident)
- HRESULT ( STDMETHODCALLTYPE *EnqueueMakeResident )(
- ID3D12Device8 * This,
- D3D12_RESIDENCY_FLAGS Flags,
- UINT NumObjects,
- _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects,
- _In_ ID3D12Fence *pFenceToSignal,
- UINT64 FenceValueToSignal);
-
- DECLSPEC_XFGVIRT(ID3D12Device4, CreateCommandList1)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandList1 )(
- ID3D12Device8 * This,
- _In_ UINT nodeMask,
- _In_ D3D12_COMMAND_LIST_TYPE type,
- _In_ D3D12_COMMAND_LIST_FLAGS flags,
- REFIID riid,
- _COM_Outptr_ void **ppCommandList);
-
- DECLSPEC_XFGVIRT(ID3D12Device4, CreateProtectedResourceSession)
- HRESULT ( STDMETHODCALLTYPE *CreateProtectedResourceSession )(
- ID3D12Device8 * This,
- _In_ const D3D12_PROTECTED_RESOURCE_SESSION_DESC *pDesc,
- _In_ REFIID riid,
- _COM_Outptr_ void **ppSession);
-
- DECLSPEC_XFGVIRT(ID3D12Device4, CreateCommittedResource1)
- HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource1 )(
- ID3D12Device8 * This,
- _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties,
- D3D12_HEAP_FLAGS HeapFlags,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialResourceState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
- REFIID riidResource,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device4, CreateHeap1)
- HRESULT ( STDMETHODCALLTYPE *CreateHeap1 )(
- ID3D12Device8 * This,
- _In_ const D3D12_HEAP_DESC *pDesc,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device4, CreateReservedResource1)
- HRESULT ( STDMETHODCALLTYPE *CreateReservedResource1 )(
- ID3D12Device8 * This,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device4, GetResourceAllocationInfo1)
- #if !defined(_WIN32)
- D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo1 )(
- ID3D12Device8 * This,
- UINT visibleMask,
- UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs,
- _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1);
-
- #else
- D3D12_RESOURCE_ALLOCATION_INFO *( STDMETHODCALLTYPE *GetResourceAllocationInfo1 )(
- ID3D12Device8 * This,
- D3D12_RESOURCE_ALLOCATION_INFO * RetVal,
- UINT visibleMask,
- UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs,
- _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1);
-
- #endif
-
- DECLSPEC_XFGVIRT(ID3D12Device5, CreateLifetimeTracker)
- HRESULT ( STDMETHODCALLTYPE *CreateLifetimeTracker )(
- ID3D12Device8 * This,
- _In_ ID3D12LifetimeOwner *pOwner,
- REFIID riid,
- _COM_Outptr_ void **ppvTracker);
-
- DECLSPEC_XFGVIRT(ID3D12Device5, RemoveDevice)
- void ( STDMETHODCALLTYPE *RemoveDevice )(
- ID3D12Device8 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Device5, EnumerateMetaCommands)
- HRESULT ( STDMETHODCALLTYPE *EnumerateMetaCommands )(
- ID3D12Device8 * This,
- _Inout_ UINT *pNumMetaCommands,
- _Out_writes_opt_(*pNumMetaCommands) D3D12_META_COMMAND_DESC *pDescs);
-
- DECLSPEC_XFGVIRT(ID3D12Device5, EnumerateMetaCommandParameters)
- HRESULT ( STDMETHODCALLTYPE *EnumerateMetaCommandParameters )(
- ID3D12Device8 * This,
- _In_ REFGUID CommandId,
- _In_ D3D12_META_COMMAND_PARAMETER_STAGE Stage,
- _Out_opt_ UINT *pTotalStructureSizeInBytes,
- _Inout_ UINT *pParameterCount,
- _Out_writes_opt_(*pParameterCount) D3D12_META_COMMAND_PARAMETER_DESC *pParameterDescs);
-
- DECLSPEC_XFGVIRT(ID3D12Device5, CreateMetaCommand)
- HRESULT ( STDMETHODCALLTYPE *CreateMetaCommand )(
- ID3D12Device8 * This,
- _In_ REFGUID CommandId,
- _In_ UINT NodeMask,
- _In_reads_bytes_opt_(CreationParametersDataSizeInBytes) const void *pCreationParametersData,
- _In_ SIZE_T CreationParametersDataSizeInBytes,
- REFIID riid,
- _COM_Outptr_ void **ppMetaCommand);
-
- DECLSPEC_XFGVIRT(ID3D12Device5, CreateStateObject)
- HRESULT ( STDMETHODCALLTYPE *CreateStateObject )(
- ID3D12Device8 * This,
- const D3D12_STATE_OBJECT_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppStateObject);
-
- DECLSPEC_XFGVIRT(ID3D12Device5, GetRaytracingAccelerationStructurePrebuildInfo)
- void ( STDMETHODCALLTYPE *GetRaytracingAccelerationStructurePrebuildInfo )(
- ID3D12Device8 * This,
- _In_ const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS *pDesc,
- _Out_ D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO *pInfo);
-
- DECLSPEC_XFGVIRT(ID3D12Device5, CheckDriverMatchingIdentifier)
- D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS ( STDMETHODCALLTYPE *CheckDriverMatchingIdentifier )(
- ID3D12Device8 * This,
- _In_ D3D12_SERIALIZED_DATA_TYPE SerializedDataType,
- _In_ const D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER *pIdentifierToCheck);
-
- DECLSPEC_XFGVIRT(ID3D12Device6, SetBackgroundProcessingMode)
- HRESULT ( STDMETHODCALLTYPE *SetBackgroundProcessingMode )(
- ID3D12Device8 * This,
- D3D12_BACKGROUND_PROCESSING_MODE Mode,
- D3D12_MEASUREMENTS_ACTION MeasurementsAction,
- _In_opt_ HANDLE hEventToSignalUponCompletion,
- _Out_opt_ BOOL *pbFurtherMeasurementsDesired);
-
- DECLSPEC_XFGVIRT(ID3D12Device7, AddToStateObject)
- HRESULT ( STDMETHODCALLTYPE *AddToStateObject )(
- ID3D12Device8 * This,
- const D3D12_STATE_OBJECT_DESC *pAddition,
- ID3D12StateObject *pStateObjectToGrowFrom,
- REFIID riid,
- _COM_Outptr_ void **ppNewStateObject);
-
- DECLSPEC_XFGVIRT(ID3D12Device7, CreateProtectedResourceSession1)
- HRESULT ( STDMETHODCALLTYPE *CreateProtectedResourceSession1 )(
- ID3D12Device8 * This,
- _In_ const D3D12_PROTECTED_RESOURCE_SESSION_DESC1 *pDesc,
- _In_ REFIID riid,
- _COM_Outptr_ void **ppSession);
-
- DECLSPEC_XFGVIRT(ID3D12Device8, GetResourceAllocationInfo2)
- #if !defined(_WIN32)
- D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo2 )(
- ID3D12Device8 * This,
- UINT visibleMask,
- UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC1 *pResourceDescs,
- _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1);
-
- #else
- D3D12_RESOURCE_ALLOCATION_INFO *( STDMETHODCALLTYPE *GetResourceAllocationInfo2 )(
- ID3D12Device8 * This,
- D3D12_RESOURCE_ALLOCATION_INFO * RetVal,
- UINT visibleMask,
- UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC1 *pResourceDescs,
- _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1);
-
- #endif
-
- DECLSPEC_XFGVIRT(ID3D12Device8, CreateCommittedResource2)
- HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource2 )(
- ID3D12Device8 * This,
- _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties,
- D3D12_HEAP_FLAGS HeapFlags,
- _In_ const D3D12_RESOURCE_DESC1 *pDesc,
- D3D12_RESOURCE_STATES InitialResourceState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
- REFIID riidResource,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device8, CreatePlacedResource1)
- HRESULT ( STDMETHODCALLTYPE *CreatePlacedResource1 )(
- ID3D12Device8 * This,
- _In_ ID3D12Heap *pHeap,
- UINT64 HeapOffset,
- _In_ const D3D12_RESOURCE_DESC1 *pDesc,
- D3D12_RESOURCE_STATES InitialState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device8, CreateSamplerFeedbackUnorderedAccessView)
- void ( STDMETHODCALLTYPE *CreateSamplerFeedbackUnorderedAccessView )(
- ID3D12Device8 * This,
- _In_opt_ ID3D12Resource *pTargetedResource,
- _In_opt_ ID3D12Resource *pFeedbackResource,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device8, GetCopyableFootprints1)
- void ( STDMETHODCALLTYPE *GetCopyableFootprints1 )(
- ID3D12Device8 * This,
- _In_ const D3D12_RESOURCE_DESC1 *pResourceDesc,
- _In_range_(0,D3D12_REQ_SUBRESOURCES) UINT FirstSubresource,
- _In_range_(0,D3D12_REQ_SUBRESOURCES-FirstSubresource) UINT NumSubresources,
- UINT64 BaseOffset,
- _Out_writes_opt_(NumSubresources) D3D12_PLACED_SUBRESOURCE_FOOTPRINT *pLayouts,
- _Out_writes_opt_(NumSubresources) UINT *pNumRows,
- _Out_writes_opt_(NumSubresources) UINT64 *pRowSizeInBytes,
- _Out_opt_ UINT64 *pTotalBytes);
-
- END_INTERFACE
- } ID3D12Device8Vtbl;
- interface ID3D12Device8
- {
- CONST_VTBL struct ID3D12Device8Vtbl *lpVtbl;
- };
-
- #ifdef COBJMACROS
- #define ID3D12Device8_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define ID3D12Device8_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define ID3D12Device8_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #define ID3D12Device8_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
- #define ID3D12Device8_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
- #define ID3D12Device8_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
- #define ID3D12Device8_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
- #define ID3D12Device8_GetNodeCount(This) \
- ( (This)->lpVtbl -> GetNodeCount(This) )
- #define ID3D12Device8_CreateCommandQueue(This,pDesc,riid,ppCommandQueue) \
- ( (This)->lpVtbl -> CreateCommandQueue(This,pDesc,riid,ppCommandQueue) )
- #define ID3D12Device8_CreateCommandAllocator(This,type,riid,ppCommandAllocator) \
- ( (This)->lpVtbl -> CreateCommandAllocator(This,type,riid,ppCommandAllocator) )
- #define ID3D12Device8_CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) \
- ( (This)->lpVtbl -> CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) )
- #define ID3D12Device8_CreateComputePipelineState(This,pDesc,riid,ppPipelineState) \
- ( (This)->lpVtbl -> CreateComputePipelineState(This,pDesc,riid,ppPipelineState) )
- #define ID3D12Device8_CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) \
- ( (This)->lpVtbl -> CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) )
- #define ID3D12Device8_CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) \
- ( (This)->lpVtbl -> CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) )
- #define ID3D12Device8_CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) \
- ( (This)->lpVtbl -> CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) )
- #define ID3D12Device8_GetDescriptorHandleIncrementSize(This,DescriptorHeapType) \
- ( (This)->lpVtbl -> GetDescriptorHandleIncrementSize(This,DescriptorHeapType) )
- #define ID3D12Device8_CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) \
- ( (This)->lpVtbl -> CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) )
- #define ID3D12Device8_CreateConstantBufferView(This,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateConstantBufferView(This,pDesc,DestDescriptor) )
- #define ID3D12Device8_CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) )
- #define ID3D12Device8_CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) )
- #define ID3D12Device8_CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) )
- #define ID3D12Device8_CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) )
- #define ID3D12Device8_CreateSampler(This,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateSampler(This,pDesc,DestDescriptor) )
- #define ID3D12Device8_CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) \
- ( (This)->lpVtbl -> CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) )
- #define ID3D12Device8_CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) \
- ( (This)->lpVtbl -> CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) )
- #if !defined(_WIN32)
- #define ID3D12Device8_GetResourceAllocationInfo(This,visibleMask,numResourceDescs,pResourceDescs) \
- ( (This)->lpVtbl -> GetResourceAllocationInfo(This,visibleMask,numResourceDescs,pResourceDescs) )
- #else
- #define ID3D12Device8_GetResourceAllocationInfo(This,RetVal,visibleMask,numResourceDescs,pResourceDescs) \
- ( (This)->lpVtbl -> GetResourceAllocationInfo(This,RetVal,visibleMask,numResourceDescs,pResourceDescs) )
- #endif
- #if !defined(_WIN32)
- #define ID3D12Device8_GetCustomHeapProperties(This,nodeMask,heapType) \
- ( (This)->lpVtbl -> GetCustomHeapProperties(This,nodeMask,heapType) )
- #else
- #define ID3D12Device8_GetCustomHeapProperties(This,RetVal,nodeMask,heapType) \
- ( (This)->lpVtbl -> GetCustomHeapProperties(This,RetVal,nodeMask,heapType) )
- #endif
- #define ID3D12Device8_CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) \
- ( (This)->lpVtbl -> CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) )
- #define ID3D12Device8_CreateHeap(This,pDesc,riid,ppvHeap) \
- ( (This)->lpVtbl -> CreateHeap(This,pDesc,riid,ppvHeap) )
- #define ID3D12Device8_CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
- ( (This)->lpVtbl -> CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
- #define ID3D12Device8_CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
- ( (This)->lpVtbl -> CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
- #define ID3D12Device8_CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) \
- ( (This)->lpVtbl -> CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) )
- #define ID3D12Device8_OpenSharedHandle(This,NTHandle,riid,ppvObj) \
- ( (This)->lpVtbl -> OpenSharedHandle(This,NTHandle,riid,ppvObj) )
- #define ID3D12Device8_OpenSharedHandleByName(This,Name,Access,pNTHandle) \
- ( (This)->lpVtbl -> OpenSharedHandleByName(This,Name,Access,pNTHandle) )
- #define ID3D12Device8_MakeResident(This,NumObjects,ppObjects) \
- ( (This)->lpVtbl -> MakeResident(This,NumObjects,ppObjects) )
- #define ID3D12Device8_Evict(This,NumObjects,ppObjects) \
- ( (This)->lpVtbl -> Evict(This,NumObjects,ppObjects) )
- #define ID3D12Device8_CreateFence(This,InitialValue,Flags,riid,ppFence) \
- ( (This)->lpVtbl -> CreateFence(This,InitialValue,Flags,riid,ppFence) )
- #define ID3D12Device8_GetDeviceRemovedReason(This) \
- ( (This)->lpVtbl -> GetDeviceRemovedReason(This) )
- #define ID3D12Device8_GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) \
- ( (This)->lpVtbl -> GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) )
- #define ID3D12Device8_CreateQueryHeap(This,pDesc,riid,ppvHeap) \
- ( (This)->lpVtbl -> CreateQueryHeap(This,pDesc,riid,ppvHeap) )
- #define ID3D12Device8_SetStablePowerState(This,Enable) \
- ( (This)->lpVtbl -> SetStablePowerState(This,Enable) )
- #define ID3D12Device8_CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) \
- ( (This)->lpVtbl -> CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) )
- #define ID3D12Device8_GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) \
- ( (This)->lpVtbl -> GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) )
- #if !defined(_WIN32)
- #define ID3D12Device8_GetAdapterLuid(This) \
- ( (This)->lpVtbl -> GetAdapterLuid(This) )
- #else
- #define ID3D12Device8_GetAdapterLuid(This,RetVal) \
- ( (This)->lpVtbl -> GetAdapterLuid(This,RetVal) )
- #endif
- #define ID3D12Device8_CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) \
- ( (This)->lpVtbl -> CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) )
- #define ID3D12Device8_SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) \
- ( (This)->lpVtbl -> SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) )
- #define ID3D12Device8_SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) \
- ( (This)->lpVtbl -> SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) )
- #define ID3D12Device8_CreatePipelineState(This,pDesc,riid,ppPipelineState) \
- ( (This)->lpVtbl -> CreatePipelineState(This,pDesc,riid,ppPipelineState) )
- #define ID3D12Device8_OpenExistingHeapFromAddress(This,pAddress,riid,ppvHeap) \
- ( (This)->lpVtbl -> OpenExistingHeapFromAddress(This,pAddress,riid,ppvHeap) )
- #define ID3D12Device8_OpenExistingHeapFromFileMapping(This,hFileMapping,riid,ppvHeap) \
- ( (This)->lpVtbl -> OpenExistingHeapFromFileMapping(This,hFileMapping,riid,ppvHeap) )
- #define ID3D12Device8_EnqueueMakeResident(This,Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) \
- ( (This)->lpVtbl -> EnqueueMakeResident(This,Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) )
- #define ID3D12Device8_CreateCommandList1(This,nodeMask,type,flags,riid,ppCommandList) \
- ( (This)->lpVtbl -> CreateCommandList1(This,nodeMask,type,flags,riid,ppCommandList) )
- #define ID3D12Device8_CreateProtectedResourceSession(This,pDesc,riid,ppSession) \
- ( (This)->lpVtbl -> CreateProtectedResourceSession(This,pDesc,riid,ppSession) )
- #define ID3D12Device8_CreateCommittedResource1(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) \
- ( (This)->lpVtbl -> CreateCommittedResource1(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) )
- #define ID3D12Device8_CreateHeap1(This,pDesc,pProtectedSession,riid,ppvHeap) \
- ( (This)->lpVtbl -> CreateHeap1(This,pDesc,pProtectedSession,riid,ppvHeap) )
- #define ID3D12Device8_CreateReservedResource1(This,pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) \
- ( (This)->lpVtbl -> CreateReservedResource1(This,pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) )
- #if !defined(_WIN32)
- #define ID3D12Device8_GetResourceAllocationInfo1(This,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) \
- ( (This)->lpVtbl -> GetResourceAllocationInfo1(This,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) )
- #else
- #define ID3D12Device8_GetResourceAllocationInfo1(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) \
- ( (This)->lpVtbl -> GetResourceAllocationInfo1(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) )
- #endif
- #define ID3D12Device8_CreateLifetimeTracker(This,pOwner,riid,ppvTracker) \
- ( (This)->lpVtbl -> CreateLifetimeTracker(This,pOwner,riid,ppvTracker) )
- #define ID3D12Device8_RemoveDevice(This) \
- ( (This)->lpVtbl -> RemoveDevice(This) )
- #define ID3D12Device8_EnumerateMetaCommands(This,pNumMetaCommands,pDescs) \
- ( (This)->lpVtbl -> EnumerateMetaCommands(This,pNumMetaCommands,pDescs) )
- #define ID3D12Device8_EnumerateMetaCommandParameters(This,CommandId,Stage,pTotalStructureSizeInBytes,pParameterCount,pParameterDescs) \
- ( (This)->lpVtbl -> EnumerateMetaCommandParameters(This,CommandId,Stage,pTotalStructureSizeInBytes,pParameterCount,pParameterDescs) )
- #define ID3D12Device8_CreateMetaCommand(This,CommandId,NodeMask,pCreationParametersData,CreationParametersDataSizeInBytes,riid,ppMetaCommand) \
- ( (This)->lpVtbl -> CreateMetaCommand(This,CommandId,NodeMask,pCreationParametersData,CreationParametersDataSizeInBytes,riid,ppMetaCommand) )
- #define ID3D12Device8_CreateStateObject(This,pDesc,riid,ppStateObject) \
- ( (This)->lpVtbl -> CreateStateObject(This,pDesc,riid,ppStateObject) )
- #define ID3D12Device8_GetRaytracingAccelerationStructurePrebuildInfo(This,pDesc,pInfo) \
- ( (This)->lpVtbl -> GetRaytracingAccelerationStructurePrebuildInfo(This,pDesc,pInfo) )
- #define ID3D12Device8_CheckDriverMatchingIdentifier(This,SerializedDataType,pIdentifierToCheck) \
- ( (This)->lpVtbl -> CheckDriverMatchingIdentifier(This,SerializedDataType,pIdentifierToCheck) )
- #define ID3D12Device8_SetBackgroundProcessingMode(This,Mode,MeasurementsAction,hEventToSignalUponCompletion,pbFurtherMeasurementsDesired) \
- ( (This)->lpVtbl -> SetBackgroundProcessingMode(This,Mode,MeasurementsAction,hEventToSignalUponCompletion,pbFurtherMeasurementsDesired) )
- #define ID3D12Device8_AddToStateObject(This,pAddition,pStateObjectToGrowFrom,riid,ppNewStateObject) \
- ( (This)->lpVtbl -> AddToStateObject(This,pAddition,pStateObjectToGrowFrom,riid,ppNewStateObject) )
- #define ID3D12Device8_CreateProtectedResourceSession1(This,pDesc,riid,ppSession) \
- ( (This)->lpVtbl -> CreateProtectedResourceSession1(This,pDesc,riid,ppSession) )
- #if !defined(_WIN32)
- #define ID3D12Device8_GetResourceAllocationInfo2(This,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) \
- ( (This)->lpVtbl -> GetResourceAllocationInfo2(This,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) )
- #else
- #define ID3D12Device8_GetResourceAllocationInfo2(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) \
- ( (This)->lpVtbl -> GetResourceAllocationInfo2(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) )
- #endif
- #define ID3D12Device8_CreateCommittedResource2(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) \
- ( (This)->lpVtbl -> CreateCommittedResource2(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) )
- #define ID3D12Device8_CreatePlacedResource1(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
- ( (This)->lpVtbl -> CreatePlacedResource1(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
- #define ID3D12Device8_CreateSamplerFeedbackUnorderedAccessView(This,pTargetedResource,pFeedbackResource,DestDescriptor) \
- ( (This)->lpVtbl -> CreateSamplerFeedbackUnorderedAccessView(This,pTargetedResource,pFeedbackResource,DestDescriptor) )
- #define ID3D12Device8_GetCopyableFootprints1(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) \
- ( (This)->lpVtbl -> GetCopyableFootprints1(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) )
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __ID3D12Device8_INTERFACE_DEFINED__ */
- #ifndef __ID3D12Resource1_INTERFACE_DEFINED__
- #define __ID3D12Resource1_INTERFACE_DEFINED__
- /* interface ID3D12Resource1 */
- /* [unique][local][object][uuid] */
- EXTERN_C const IID IID_ID3D12Resource1;
- #if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("9D5E227A-4430-4161-88B3-3ECA6BB16E19")
- ID3D12Resource1 : public ID3D12Resource
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE GetProtectedResourceSession(
- REFIID riid,
- _COM_Outptr_opt_ void **ppProtectedSession) = 0;
-
- };
-
-
- #else /* C style interface */
- typedef struct ID3D12Resource1Vtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12Resource1 * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12Resource1 * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12Resource1 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12Resource1 * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12Resource1 * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12Resource1 * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetName)
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12Resource1 * This,
- _In_z_ LPCWSTR Name);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice)
- HRESULT ( STDMETHODCALLTYPE *GetDevice )(
- ID3D12Resource1 * This,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvDevice);
-
- DECLSPEC_XFGVIRT(ID3D12Resource, Map)
- HRESULT ( STDMETHODCALLTYPE *Map )(
- ID3D12Resource1 * This,
- UINT Subresource,
- _In_opt_ const D3D12_RANGE *pReadRange,
- _Outptr_opt_result_bytebuffer_(_Inexpressible_("Dependent on resource")) void **ppData);
-
- DECLSPEC_XFGVIRT(ID3D12Resource, Unmap)
- void ( STDMETHODCALLTYPE *Unmap )(
- ID3D12Resource1 * This,
- UINT Subresource,
- _In_opt_ const D3D12_RANGE *pWrittenRange);
-
- DECLSPEC_XFGVIRT(ID3D12Resource, GetDesc)
- #if !defined(_WIN32)
- D3D12_RESOURCE_DESC ( STDMETHODCALLTYPE *GetDesc )(
- ID3D12Resource1 * This);
-
- #else
- D3D12_RESOURCE_DESC *( STDMETHODCALLTYPE *GetDesc )(
- ID3D12Resource1 * This,
- D3D12_RESOURCE_DESC * RetVal);
-
- #endif
-
- DECLSPEC_XFGVIRT(ID3D12Resource, GetGPUVirtualAddress)
- D3D12_GPU_VIRTUAL_ADDRESS ( STDMETHODCALLTYPE *GetGPUVirtualAddress )(
- ID3D12Resource1 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Resource, WriteToSubresource)
- HRESULT ( STDMETHODCALLTYPE *WriteToSubresource )(
- ID3D12Resource1 * This,
- UINT DstSubresource,
- _In_opt_ const D3D12_BOX *pDstBox,
- _In_ const void *pSrcData,
- UINT SrcRowPitch,
- UINT SrcDepthPitch);
-
- DECLSPEC_XFGVIRT(ID3D12Resource, ReadFromSubresource)
- HRESULT ( STDMETHODCALLTYPE *ReadFromSubresource )(
- ID3D12Resource1 * This,
- _Out_ void *pDstData,
- UINT DstRowPitch,
- UINT DstDepthPitch,
- UINT SrcSubresource,
- _In_opt_ const D3D12_BOX *pSrcBox);
-
- DECLSPEC_XFGVIRT(ID3D12Resource, GetHeapProperties)
- HRESULT ( STDMETHODCALLTYPE *GetHeapProperties )(
- ID3D12Resource1 * This,
- _Out_opt_ D3D12_HEAP_PROPERTIES *pHeapProperties,
- _Out_opt_ D3D12_HEAP_FLAGS *pHeapFlags);
-
- DECLSPEC_XFGVIRT(ID3D12Resource1, GetProtectedResourceSession)
- HRESULT ( STDMETHODCALLTYPE *GetProtectedResourceSession )(
- ID3D12Resource1 * This,
- REFIID riid,
- _COM_Outptr_opt_ void **ppProtectedSession);
-
- END_INTERFACE
- } ID3D12Resource1Vtbl;
- interface ID3D12Resource1
- {
- CONST_VTBL struct ID3D12Resource1Vtbl *lpVtbl;
- };
-
- #ifdef COBJMACROS
- #define ID3D12Resource1_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define ID3D12Resource1_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define ID3D12Resource1_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #define ID3D12Resource1_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
- #define ID3D12Resource1_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
- #define ID3D12Resource1_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
- #define ID3D12Resource1_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
- #define ID3D12Resource1_GetDevice(This,riid,ppvDevice) \
- ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
- #define ID3D12Resource1_Map(This,Subresource,pReadRange,ppData) \
- ( (This)->lpVtbl -> Map(This,Subresource,pReadRange,ppData) )
- #define ID3D12Resource1_Unmap(This,Subresource,pWrittenRange) \
- ( (This)->lpVtbl -> Unmap(This,Subresource,pWrittenRange) )
- #if !defined(_WIN32)
- #define ID3D12Resource1_GetDesc(This) \
- ( (This)->lpVtbl -> GetDesc(This) )
- #else
- #define ID3D12Resource1_GetDesc(This,RetVal) \
- ( (This)->lpVtbl -> GetDesc(This,RetVal) )
- #endif
- #define ID3D12Resource1_GetGPUVirtualAddress(This) \
- ( (This)->lpVtbl -> GetGPUVirtualAddress(This) )
- #define ID3D12Resource1_WriteToSubresource(This,DstSubresource,pDstBox,pSrcData,SrcRowPitch,SrcDepthPitch) \
- ( (This)->lpVtbl -> WriteToSubresource(This,DstSubresource,pDstBox,pSrcData,SrcRowPitch,SrcDepthPitch) )
- #define ID3D12Resource1_ReadFromSubresource(This,pDstData,DstRowPitch,DstDepthPitch,SrcSubresource,pSrcBox) \
- ( (This)->lpVtbl -> ReadFromSubresource(This,pDstData,DstRowPitch,DstDepthPitch,SrcSubresource,pSrcBox) )
- #define ID3D12Resource1_GetHeapProperties(This,pHeapProperties,pHeapFlags) \
- ( (This)->lpVtbl -> GetHeapProperties(This,pHeapProperties,pHeapFlags) )
- #define ID3D12Resource1_GetProtectedResourceSession(This,riid,ppProtectedSession) \
- ( (This)->lpVtbl -> GetProtectedResourceSession(This,riid,ppProtectedSession) )
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __ID3D12Resource1_INTERFACE_DEFINED__ */
- #ifndef __ID3D12Resource2_INTERFACE_DEFINED__
- #define __ID3D12Resource2_INTERFACE_DEFINED__
- /* interface ID3D12Resource2 */
- /* [unique][local][object][uuid] */
- EXTERN_C const IID IID_ID3D12Resource2;
- #if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("BE36EC3B-EA85-4AEB-A45A-E9D76404A495")
- ID3D12Resource2 : public ID3D12Resource1
- {
- public:
- #if defined(_MSC_VER) || !defined(_WIN32)
- virtual D3D12_RESOURCE_DESC1 STDMETHODCALLTYPE GetDesc1( void) = 0;
- #else
- virtual D3D12_RESOURCE_DESC1 *STDMETHODCALLTYPE GetDesc1(
- D3D12_RESOURCE_DESC1 * RetVal) = 0;
- #endif
-
- };
-
-
- #else /* C style interface */
- typedef struct ID3D12Resource2Vtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12Resource2 * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12Resource2 * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12Resource2 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12Resource2 * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12Resource2 * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12Resource2 * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetName)
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12Resource2 * This,
- _In_z_ LPCWSTR Name);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice)
- HRESULT ( STDMETHODCALLTYPE *GetDevice )(
- ID3D12Resource2 * This,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvDevice);
-
- DECLSPEC_XFGVIRT(ID3D12Resource, Map)
- HRESULT ( STDMETHODCALLTYPE *Map )(
- ID3D12Resource2 * This,
- UINT Subresource,
- _In_opt_ const D3D12_RANGE *pReadRange,
- _Outptr_opt_result_bytebuffer_(_Inexpressible_("Dependent on resource")) void **ppData);
-
- DECLSPEC_XFGVIRT(ID3D12Resource, Unmap)
- void ( STDMETHODCALLTYPE *Unmap )(
- ID3D12Resource2 * This,
- UINT Subresource,
- _In_opt_ const D3D12_RANGE *pWrittenRange);
-
- DECLSPEC_XFGVIRT(ID3D12Resource, GetDesc)
- #if !defined(_WIN32)
- D3D12_RESOURCE_DESC ( STDMETHODCALLTYPE *GetDesc )(
- ID3D12Resource2 * This);
-
- #else
- D3D12_RESOURCE_DESC *( STDMETHODCALLTYPE *GetDesc )(
- ID3D12Resource2 * This,
- D3D12_RESOURCE_DESC * RetVal);
-
- #endif
-
- DECLSPEC_XFGVIRT(ID3D12Resource, GetGPUVirtualAddress)
- D3D12_GPU_VIRTUAL_ADDRESS ( STDMETHODCALLTYPE *GetGPUVirtualAddress )(
- ID3D12Resource2 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Resource, WriteToSubresource)
- HRESULT ( STDMETHODCALLTYPE *WriteToSubresource )(
- ID3D12Resource2 * This,
- UINT DstSubresource,
- _In_opt_ const D3D12_BOX *pDstBox,
- _In_ const void *pSrcData,
- UINT SrcRowPitch,
- UINT SrcDepthPitch);
-
- DECLSPEC_XFGVIRT(ID3D12Resource, ReadFromSubresource)
- HRESULT ( STDMETHODCALLTYPE *ReadFromSubresource )(
- ID3D12Resource2 * This,
- _Out_ void *pDstData,
- UINT DstRowPitch,
- UINT DstDepthPitch,
- UINT SrcSubresource,
- _In_opt_ const D3D12_BOX *pSrcBox);
-
- DECLSPEC_XFGVIRT(ID3D12Resource, GetHeapProperties)
- HRESULT ( STDMETHODCALLTYPE *GetHeapProperties )(
- ID3D12Resource2 * This,
- _Out_opt_ D3D12_HEAP_PROPERTIES *pHeapProperties,
- _Out_opt_ D3D12_HEAP_FLAGS *pHeapFlags);
-
- DECLSPEC_XFGVIRT(ID3D12Resource1, GetProtectedResourceSession)
- HRESULT ( STDMETHODCALLTYPE *GetProtectedResourceSession )(
- ID3D12Resource2 * This,
- REFIID riid,
- _COM_Outptr_opt_ void **ppProtectedSession);
-
- DECLSPEC_XFGVIRT(ID3D12Resource2, GetDesc1)
- #if !defined(_WIN32)
- D3D12_RESOURCE_DESC1 ( STDMETHODCALLTYPE *GetDesc1 )(
- ID3D12Resource2 * This);
-
- #else
- D3D12_RESOURCE_DESC1 *( STDMETHODCALLTYPE *GetDesc1 )(
- ID3D12Resource2 * This,
- D3D12_RESOURCE_DESC1 * RetVal);
-
- #endif
-
- END_INTERFACE
- } ID3D12Resource2Vtbl;
- interface ID3D12Resource2
- {
- CONST_VTBL struct ID3D12Resource2Vtbl *lpVtbl;
- };
-
- #ifdef COBJMACROS
- #define ID3D12Resource2_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define ID3D12Resource2_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define ID3D12Resource2_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #define ID3D12Resource2_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
- #define ID3D12Resource2_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
- #define ID3D12Resource2_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
- #define ID3D12Resource2_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
- #define ID3D12Resource2_GetDevice(This,riid,ppvDevice) \
- ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
- #define ID3D12Resource2_Map(This,Subresource,pReadRange,ppData) \
- ( (This)->lpVtbl -> Map(This,Subresource,pReadRange,ppData) )
- #define ID3D12Resource2_Unmap(This,Subresource,pWrittenRange) \
- ( (This)->lpVtbl -> Unmap(This,Subresource,pWrittenRange) )
- #if !defined(_WIN32)
- #define ID3D12Resource2_GetDesc(This) \
- ( (This)->lpVtbl -> GetDesc(This) )
- #else
- #define ID3D12Resource2_GetDesc(This,RetVal) \
- ( (This)->lpVtbl -> GetDesc(This,RetVal) )
- #endif
- #define ID3D12Resource2_GetGPUVirtualAddress(This) \
- ( (This)->lpVtbl -> GetGPUVirtualAddress(This) )
- #define ID3D12Resource2_WriteToSubresource(This,DstSubresource,pDstBox,pSrcData,SrcRowPitch,SrcDepthPitch) \
- ( (This)->lpVtbl -> WriteToSubresource(This,DstSubresource,pDstBox,pSrcData,SrcRowPitch,SrcDepthPitch) )
- #define ID3D12Resource2_ReadFromSubresource(This,pDstData,DstRowPitch,DstDepthPitch,SrcSubresource,pSrcBox) \
- ( (This)->lpVtbl -> ReadFromSubresource(This,pDstData,DstRowPitch,DstDepthPitch,SrcSubresource,pSrcBox) )
- #define ID3D12Resource2_GetHeapProperties(This,pHeapProperties,pHeapFlags) \
- ( (This)->lpVtbl -> GetHeapProperties(This,pHeapProperties,pHeapFlags) )
- #define ID3D12Resource2_GetProtectedResourceSession(This,riid,ppProtectedSession) \
- ( (This)->lpVtbl -> GetProtectedResourceSession(This,riid,ppProtectedSession) )
- #if !defined(_WIN32)
- #define ID3D12Resource2_GetDesc1(This) \
- ( (This)->lpVtbl -> GetDesc1(This) )
- #else
- #define ID3D12Resource2_GetDesc1(This,RetVal) \
- ( (This)->lpVtbl -> GetDesc1(This,RetVal) )
- #endif
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __ID3D12Resource2_INTERFACE_DEFINED__ */
- #ifndef __ID3D12Heap1_INTERFACE_DEFINED__
- #define __ID3D12Heap1_INTERFACE_DEFINED__
- /* interface ID3D12Heap1 */
- /* [unique][local][object][uuid] */
- EXTERN_C const IID IID_ID3D12Heap1;
- #if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("572F7389-2168-49E3-9693-D6DF5871BF6D")
- ID3D12Heap1 : public ID3D12Heap
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE GetProtectedResourceSession(
- REFIID riid,
- _COM_Outptr_opt_ void **ppProtectedSession) = 0;
-
- };
-
-
- #else /* C style interface */
- typedef struct ID3D12Heap1Vtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12Heap1 * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12Heap1 * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12Heap1 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12Heap1 * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12Heap1 * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12Heap1 * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetName)
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12Heap1 * This,
- _In_z_ LPCWSTR Name);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice)
- HRESULT ( STDMETHODCALLTYPE *GetDevice )(
- ID3D12Heap1 * This,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvDevice);
-
- DECLSPEC_XFGVIRT(ID3D12Heap, GetDesc)
- #if !defined(_WIN32)
- D3D12_HEAP_DESC ( STDMETHODCALLTYPE *GetDesc )(
- ID3D12Heap1 * This);
-
- #else
- D3D12_HEAP_DESC *( STDMETHODCALLTYPE *GetDesc )(
- ID3D12Heap1 * This,
- D3D12_HEAP_DESC * RetVal);
-
- #endif
-
- DECLSPEC_XFGVIRT(ID3D12Heap1, GetProtectedResourceSession)
- HRESULT ( STDMETHODCALLTYPE *GetProtectedResourceSession )(
- ID3D12Heap1 * This,
- REFIID riid,
- _COM_Outptr_opt_ void **ppProtectedSession);
-
- END_INTERFACE
- } ID3D12Heap1Vtbl;
- interface ID3D12Heap1
- {
- CONST_VTBL struct ID3D12Heap1Vtbl *lpVtbl;
- };
-
- #ifdef COBJMACROS
- #define ID3D12Heap1_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define ID3D12Heap1_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define ID3D12Heap1_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #define ID3D12Heap1_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
- #define ID3D12Heap1_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
- #define ID3D12Heap1_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
- #define ID3D12Heap1_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
- #define ID3D12Heap1_GetDevice(This,riid,ppvDevice) \
- ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
- #if !defined(_WIN32)
- #define ID3D12Heap1_GetDesc(This) \
- ( (This)->lpVtbl -> GetDesc(This) )
- #else
- #define ID3D12Heap1_GetDesc(This,RetVal) \
- ( (This)->lpVtbl -> GetDesc(This,RetVal) )
- #endif
- #define ID3D12Heap1_GetProtectedResourceSession(This,riid,ppProtectedSession) \
- ( (This)->lpVtbl -> GetProtectedResourceSession(This,riid,ppProtectedSession) )
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __ID3D12Heap1_INTERFACE_DEFINED__ */
- #ifndef __ID3D12GraphicsCommandList3_INTERFACE_DEFINED__
- #define __ID3D12GraphicsCommandList3_INTERFACE_DEFINED__
- /* interface ID3D12GraphicsCommandList3 */
- /* [unique][local][object][uuid] */
- EXTERN_C const IID IID_ID3D12GraphicsCommandList3;
- #if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("6FDA83A7-B84C-4E38-9AC8-C7BD22016B3D")
- ID3D12GraphicsCommandList3 : public ID3D12GraphicsCommandList2
- {
- public:
- virtual void STDMETHODCALLTYPE SetProtectedResourceSession(
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedResourceSession) = 0;
-
- };
-
-
- #else /* C style interface */
- typedef struct ID3D12GraphicsCommandList3Vtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12GraphicsCommandList3 * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12GraphicsCommandList3 * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12GraphicsCommandList3 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12GraphicsCommandList3 * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12GraphicsCommandList3 * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12GraphicsCommandList3 * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetName)
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12GraphicsCommandList3 * This,
- _In_z_ LPCWSTR Name);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice)
- HRESULT ( STDMETHODCALLTYPE *GetDevice )(
- ID3D12GraphicsCommandList3 * This,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvDevice);
-
- DECLSPEC_XFGVIRT(ID3D12CommandList, GetType)
- D3D12_COMMAND_LIST_TYPE ( STDMETHODCALLTYPE *GetType )(
- ID3D12GraphicsCommandList3 * This);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, Close)
- HRESULT ( STDMETHODCALLTYPE *Close )(
- ID3D12GraphicsCommandList3 * This);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, Reset)
- HRESULT ( STDMETHODCALLTYPE *Reset )(
- ID3D12GraphicsCommandList3 * This,
- _In_ ID3D12CommandAllocator *pAllocator,
- _In_opt_ ID3D12PipelineState *pInitialState);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearState)
- void ( STDMETHODCALLTYPE *ClearState )(
- ID3D12GraphicsCommandList3 * This,
- _In_opt_ ID3D12PipelineState *pPipelineState);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, DrawInstanced)
- void ( STDMETHODCALLTYPE *DrawInstanced )(
- ID3D12GraphicsCommandList3 * This,
- _In_ UINT VertexCountPerInstance,
- _In_ UINT InstanceCount,
- _In_ UINT StartVertexLocation,
- _In_ UINT StartInstanceLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, DrawIndexedInstanced)
- void ( STDMETHODCALLTYPE *DrawIndexedInstanced )(
- ID3D12GraphicsCommandList3 * This,
- _In_ UINT IndexCountPerInstance,
- _In_ UINT InstanceCount,
- _In_ UINT StartIndexLocation,
- _In_ INT BaseVertexLocation,
- _In_ UINT StartInstanceLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, Dispatch)
- void ( STDMETHODCALLTYPE *Dispatch )(
- ID3D12GraphicsCommandList3 * This,
- _In_ UINT ThreadGroupCountX,
- _In_ UINT ThreadGroupCountY,
- _In_ UINT ThreadGroupCountZ);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyBufferRegion)
- void ( STDMETHODCALLTYPE *CopyBufferRegion )(
- ID3D12GraphicsCommandList3 * This,
- _In_ ID3D12Resource *pDstBuffer,
- UINT64 DstOffset,
- _In_ ID3D12Resource *pSrcBuffer,
- UINT64 SrcOffset,
- UINT64 NumBytes);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyTextureRegion)
- void ( STDMETHODCALLTYPE *CopyTextureRegion )(
- ID3D12GraphicsCommandList3 * This,
- _In_ const D3D12_TEXTURE_COPY_LOCATION *pDst,
- UINT DstX,
- UINT DstY,
- UINT DstZ,
- _In_ const D3D12_TEXTURE_COPY_LOCATION *pSrc,
- _In_opt_ const D3D12_BOX *pSrcBox);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyResource)
- void ( STDMETHODCALLTYPE *CopyResource )(
- ID3D12GraphicsCommandList3 * This,
- _In_ ID3D12Resource *pDstResource,
- _In_ ID3D12Resource *pSrcResource);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyTiles)
- void ( STDMETHODCALLTYPE *CopyTiles )(
- ID3D12GraphicsCommandList3 * This,
- _In_ ID3D12Resource *pTiledResource,
- _In_ const D3D12_TILED_RESOURCE_COORDINATE *pTileRegionStartCoordinate,
- _In_ const D3D12_TILE_REGION_SIZE *pTileRegionSize,
- _In_ ID3D12Resource *pBuffer,
- UINT64 BufferStartOffsetInBytes,
- D3D12_TILE_COPY_FLAGS Flags);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ResolveSubresource)
- void ( STDMETHODCALLTYPE *ResolveSubresource )(
- ID3D12GraphicsCommandList3 * This,
- _In_ ID3D12Resource *pDstResource,
- _In_ UINT DstSubresource,
- _In_ ID3D12Resource *pSrcResource,
- _In_ UINT SrcSubresource,
- _In_ DXGI_FORMAT Format);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, IASetPrimitiveTopology)
- void ( STDMETHODCALLTYPE *IASetPrimitiveTopology )(
- ID3D12GraphicsCommandList3 * This,
- _In_ D3D12_PRIMITIVE_TOPOLOGY PrimitiveTopology);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, RSSetViewports)
- void ( STDMETHODCALLTYPE *RSSetViewports )(
- ID3D12GraphicsCommandList3 * This,
- _In_range_(0, D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE) UINT NumViewports,
- _In_reads_( NumViewports) const D3D12_VIEWPORT *pViewports);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, RSSetScissorRects)
- void ( STDMETHODCALLTYPE *RSSetScissorRects )(
- ID3D12GraphicsCommandList3 * This,
- _In_range_(0, D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE) UINT NumRects,
- _In_reads_( NumRects) const D3D12_RECT *pRects);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, OMSetBlendFactor)
- void ( STDMETHODCALLTYPE *OMSetBlendFactor )(
- ID3D12GraphicsCommandList3 * This,
- _In_reads_opt_(4) const FLOAT BlendFactor[ 4 ]);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, OMSetStencilRef)
- void ( STDMETHODCALLTYPE *OMSetStencilRef )(
- ID3D12GraphicsCommandList3 * This,
- _In_ UINT StencilRef);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetPipelineState)
- void ( STDMETHODCALLTYPE *SetPipelineState )(
- ID3D12GraphicsCommandList3 * This,
- _In_ ID3D12PipelineState *pPipelineState);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ResourceBarrier)
- void ( STDMETHODCALLTYPE *ResourceBarrier )(
- ID3D12GraphicsCommandList3 * This,
- _In_ UINT NumBarriers,
- _In_reads_(NumBarriers) const D3D12_RESOURCE_BARRIER *pBarriers);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ExecuteBundle)
- void ( STDMETHODCALLTYPE *ExecuteBundle )(
- ID3D12GraphicsCommandList3 * This,
- _In_ ID3D12GraphicsCommandList *pCommandList);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetDescriptorHeaps)
- void ( STDMETHODCALLTYPE *SetDescriptorHeaps )(
- ID3D12GraphicsCommandList3 * This,
- _In_ UINT NumDescriptorHeaps,
- _In_reads_(NumDescriptorHeaps) ID3D12DescriptorHeap *const *ppDescriptorHeaps);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootSignature)
- void ( STDMETHODCALLTYPE *SetComputeRootSignature )(
- ID3D12GraphicsCommandList3 * This,
- _In_opt_ ID3D12RootSignature *pRootSignature);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootSignature)
- void ( STDMETHODCALLTYPE *SetGraphicsRootSignature )(
- ID3D12GraphicsCommandList3 * This,
- _In_opt_ ID3D12RootSignature *pRootSignature);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootDescriptorTable)
- void ( STDMETHODCALLTYPE *SetComputeRootDescriptorTable )(
- ID3D12GraphicsCommandList3 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootDescriptorTable)
- void ( STDMETHODCALLTYPE *SetGraphicsRootDescriptorTable )(
- ID3D12GraphicsCommandList3 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRoot32BitConstant)
- void ( STDMETHODCALLTYPE *SetComputeRoot32BitConstant )(
- ID3D12GraphicsCommandList3 * This,
- _In_ UINT RootParameterIndex,
- _In_ UINT SrcData,
- _In_ UINT DestOffsetIn32BitValues);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRoot32BitConstant)
- void ( STDMETHODCALLTYPE *SetGraphicsRoot32BitConstant )(
- ID3D12GraphicsCommandList3 * This,
- _In_ UINT RootParameterIndex,
- _In_ UINT SrcData,
- _In_ UINT DestOffsetIn32BitValues);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRoot32BitConstants)
- void ( STDMETHODCALLTYPE *SetComputeRoot32BitConstants )(
- ID3D12GraphicsCommandList3 * This,
- _In_ UINT RootParameterIndex,
- _In_ UINT Num32BitValuesToSet,
- _In_reads_(Num32BitValuesToSet*sizeof(UINT)) const void *pSrcData,
- _In_ UINT DestOffsetIn32BitValues);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRoot32BitConstants)
- void ( STDMETHODCALLTYPE *SetGraphicsRoot32BitConstants )(
- ID3D12GraphicsCommandList3 * This,
- _In_ UINT RootParameterIndex,
- _In_ UINT Num32BitValuesToSet,
- _In_reads_(Num32BitValuesToSet*sizeof(UINT)) const void *pSrcData,
- _In_ UINT DestOffsetIn32BitValues);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootConstantBufferView)
- void ( STDMETHODCALLTYPE *SetComputeRootConstantBufferView )(
- ID3D12GraphicsCommandList3 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootConstantBufferView)
- void ( STDMETHODCALLTYPE *SetGraphicsRootConstantBufferView )(
- ID3D12GraphicsCommandList3 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootShaderResourceView)
- void ( STDMETHODCALLTYPE *SetComputeRootShaderResourceView )(
- ID3D12GraphicsCommandList3 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootShaderResourceView)
- void ( STDMETHODCALLTYPE *SetGraphicsRootShaderResourceView )(
- ID3D12GraphicsCommandList3 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootUnorderedAccessView)
- void ( STDMETHODCALLTYPE *SetComputeRootUnorderedAccessView )(
- ID3D12GraphicsCommandList3 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootUnorderedAccessView)
- void ( STDMETHODCALLTYPE *SetGraphicsRootUnorderedAccessView )(
- ID3D12GraphicsCommandList3 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, IASetIndexBuffer)
- void ( STDMETHODCALLTYPE *IASetIndexBuffer )(
- ID3D12GraphicsCommandList3 * This,
- _In_opt_ const D3D12_INDEX_BUFFER_VIEW *pView);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, IASetVertexBuffers)
- void ( STDMETHODCALLTYPE *IASetVertexBuffers )(
- ID3D12GraphicsCommandList3 * This,
- _In_ UINT StartSlot,
- _In_ UINT NumViews,
- _In_reads_opt_(NumViews) const D3D12_VERTEX_BUFFER_VIEW *pViews);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SOSetTargets)
- void ( STDMETHODCALLTYPE *SOSetTargets )(
- ID3D12GraphicsCommandList3 * This,
- _In_ UINT StartSlot,
- _In_ UINT NumViews,
- _In_reads_opt_(NumViews) const D3D12_STREAM_OUTPUT_BUFFER_VIEW *pViews);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, OMSetRenderTargets)
- void ( STDMETHODCALLTYPE *OMSetRenderTargets )(
- ID3D12GraphicsCommandList3 * This,
- _In_ UINT NumRenderTargetDescriptors,
- _In_opt_ const D3D12_CPU_DESCRIPTOR_HANDLE *pRenderTargetDescriptors,
- _In_ BOOL RTsSingleHandleToDescriptorRange,
- _In_opt_ const D3D12_CPU_DESCRIPTOR_HANDLE *pDepthStencilDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearDepthStencilView)
- void ( STDMETHODCALLTYPE *ClearDepthStencilView )(
- ID3D12GraphicsCommandList3 * This,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DepthStencilView,
- _In_ D3D12_CLEAR_FLAGS ClearFlags,
- _In_ FLOAT Depth,
- _In_ UINT8 Stencil,
- _In_ UINT NumRects,
- _In_reads_(NumRects) const D3D12_RECT *pRects);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearRenderTargetView)
- void ( STDMETHODCALLTYPE *ClearRenderTargetView )(
- ID3D12GraphicsCommandList3 * This,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE RenderTargetView,
- _In_ const FLOAT ColorRGBA[ 4 ],
- _In_ UINT NumRects,
- _In_reads_(NumRects) const D3D12_RECT *pRects);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearUnorderedAccessViewUint)
- void ( STDMETHODCALLTYPE *ClearUnorderedAccessViewUint )(
- ID3D12GraphicsCommandList3 * This,
- _In_ D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle,
- _In_ ID3D12Resource *pResource,
- _In_ const UINT Values[ 4 ],
- _In_ UINT NumRects,
- _In_reads_(NumRects) const D3D12_RECT *pRects);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearUnorderedAccessViewFloat)
- void ( STDMETHODCALLTYPE *ClearUnorderedAccessViewFloat )(
- ID3D12GraphicsCommandList3 * This,
- _In_ D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle,
- _In_ ID3D12Resource *pResource,
- _In_ const FLOAT Values[ 4 ],
- _In_ UINT NumRects,
- _In_reads_(NumRects) const D3D12_RECT *pRects);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, DiscardResource)
- void ( STDMETHODCALLTYPE *DiscardResource )(
- ID3D12GraphicsCommandList3 * This,
- _In_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_DISCARD_REGION *pRegion);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, BeginQuery)
- void ( STDMETHODCALLTYPE *BeginQuery )(
- ID3D12GraphicsCommandList3 * This,
- _In_ ID3D12QueryHeap *pQueryHeap,
- _In_ D3D12_QUERY_TYPE Type,
- _In_ UINT Index);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, EndQuery)
- void ( STDMETHODCALLTYPE *EndQuery )(
- ID3D12GraphicsCommandList3 * This,
- _In_ ID3D12QueryHeap *pQueryHeap,
- _In_ D3D12_QUERY_TYPE Type,
- _In_ UINT Index);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ResolveQueryData)
- void ( STDMETHODCALLTYPE *ResolveQueryData )(
- ID3D12GraphicsCommandList3 * This,
- _In_ ID3D12QueryHeap *pQueryHeap,
- _In_ D3D12_QUERY_TYPE Type,
- _In_ UINT StartIndex,
- _In_ UINT NumQueries,
- _In_ ID3D12Resource *pDestinationBuffer,
- _In_ UINT64 AlignedDestinationBufferOffset);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetPredication)
- void ( STDMETHODCALLTYPE *SetPredication )(
- ID3D12GraphicsCommandList3 * This,
- _In_opt_ ID3D12Resource *pBuffer,
- _In_ UINT64 AlignedBufferOffset,
- _In_ D3D12_PREDICATION_OP Operation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetMarker)
- void ( STDMETHODCALLTYPE *SetMarker )(
- ID3D12GraphicsCommandList3 * This,
- UINT Metadata,
- _In_reads_bytes_opt_(Size) const void *pData,
- UINT Size);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, BeginEvent)
- void ( STDMETHODCALLTYPE *BeginEvent )(
- ID3D12GraphicsCommandList3 * This,
- UINT Metadata,
- _In_reads_bytes_opt_(Size) const void *pData,
- UINT Size);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, EndEvent)
- void ( STDMETHODCALLTYPE *EndEvent )(
- ID3D12GraphicsCommandList3 * This);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ExecuteIndirect)
- void ( STDMETHODCALLTYPE *ExecuteIndirect )(
- ID3D12GraphicsCommandList3 * This,
- _In_ ID3D12CommandSignature *pCommandSignature,
- _In_ UINT MaxCommandCount,
- _In_ ID3D12Resource *pArgumentBuffer,
- _In_ UINT64 ArgumentBufferOffset,
- _In_opt_ ID3D12Resource *pCountBuffer,
- _In_ UINT64 CountBufferOffset);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, AtomicCopyBufferUINT)
- void ( STDMETHODCALLTYPE *AtomicCopyBufferUINT )(
- ID3D12GraphicsCommandList3 * This,
- _In_ ID3D12Resource *pDstBuffer,
- UINT64 DstOffset,
- _In_ ID3D12Resource *pSrcBuffer,
- UINT64 SrcOffset,
- UINT Dependencies,
- _In_reads_(Dependencies) ID3D12Resource *const *ppDependentResources,
- _In_reads_(Dependencies) const D3D12_SUBRESOURCE_RANGE_UINT64 *pDependentSubresourceRanges);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, AtomicCopyBufferUINT64)
- void ( STDMETHODCALLTYPE *AtomicCopyBufferUINT64 )(
- ID3D12GraphicsCommandList3 * This,
- _In_ ID3D12Resource *pDstBuffer,
- UINT64 DstOffset,
- _In_ ID3D12Resource *pSrcBuffer,
- UINT64 SrcOffset,
- UINT Dependencies,
- _In_reads_(Dependencies) ID3D12Resource *const *ppDependentResources,
- _In_reads_(Dependencies) const D3D12_SUBRESOURCE_RANGE_UINT64 *pDependentSubresourceRanges);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, OMSetDepthBounds)
- void ( STDMETHODCALLTYPE *OMSetDepthBounds )(
- ID3D12GraphicsCommandList3 * This,
- _In_ FLOAT Min,
- _In_ FLOAT Max);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, SetSamplePositions)
- void ( STDMETHODCALLTYPE *SetSamplePositions )(
- ID3D12GraphicsCommandList3 * This,
- _In_ UINT NumSamplesPerPixel,
- _In_ UINT NumPixels,
- _In_reads_(NumSamplesPerPixel*NumPixels) D3D12_SAMPLE_POSITION *pSamplePositions);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, ResolveSubresourceRegion)
- void ( STDMETHODCALLTYPE *ResolveSubresourceRegion )(
- ID3D12GraphicsCommandList3 * This,
- _In_ ID3D12Resource *pDstResource,
- _In_ UINT DstSubresource,
- _In_ UINT DstX,
- _In_ UINT DstY,
- _In_ ID3D12Resource *pSrcResource,
- _In_ UINT SrcSubresource,
- _In_opt_ D3D12_RECT *pSrcRect,
- _In_ DXGI_FORMAT Format,
- _In_ D3D12_RESOLVE_MODE ResolveMode);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, SetViewInstanceMask)
- void ( STDMETHODCALLTYPE *SetViewInstanceMask )(
- ID3D12GraphicsCommandList3 * This,
- _In_ UINT Mask);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList2, WriteBufferImmediate)
- void ( STDMETHODCALLTYPE *WriteBufferImmediate )(
- ID3D12GraphicsCommandList3 * This,
- UINT Count,
- _In_reads_(Count) const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *pParams,
- _In_reads_opt_(Count) const D3D12_WRITEBUFFERIMMEDIATE_MODE *pModes);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList3, SetProtectedResourceSession)
- void ( STDMETHODCALLTYPE *SetProtectedResourceSession )(
- ID3D12GraphicsCommandList3 * This,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedResourceSession);
-
- END_INTERFACE
- } ID3D12GraphicsCommandList3Vtbl;
- interface ID3D12GraphicsCommandList3
- {
- CONST_VTBL struct ID3D12GraphicsCommandList3Vtbl *lpVtbl;
- };
-
- #ifdef COBJMACROS
- #define ID3D12GraphicsCommandList3_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define ID3D12GraphicsCommandList3_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define ID3D12GraphicsCommandList3_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #define ID3D12GraphicsCommandList3_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
- #define ID3D12GraphicsCommandList3_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
- #define ID3D12GraphicsCommandList3_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
- #define ID3D12GraphicsCommandList3_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
- #define ID3D12GraphicsCommandList3_GetDevice(This,riid,ppvDevice) \
- ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
- #define ID3D12GraphicsCommandList3_GetType(This) \
- ( (This)->lpVtbl -> GetType(This) )
- #define ID3D12GraphicsCommandList3_Close(This) \
- ( (This)->lpVtbl -> Close(This) )
- #define ID3D12GraphicsCommandList3_Reset(This,pAllocator,pInitialState) \
- ( (This)->lpVtbl -> Reset(This,pAllocator,pInitialState) )
- #define ID3D12GraphicsCommandList3_ClearState(This,pPipelineState) \
- ( (This)->lpVtbl -> ClearState(This,pPipelineState) )
- #define ID3D12GraphicsCommandList3_DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) \
- ( (This)->lpVtbl -> DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) )
- #define ID3D12GraphicsCommandList3_DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) \
- ( (This)->lpVtbl -> DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) )
- #define ID3D12GraphicsCommandList3_Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) \
- ( (This)->lpVtbl -> Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) )
- #define ID3D12GraphicsCommandList3_CopyBufferRegion(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) \
- ( (This)->lpVtbl -> CopyBufferRegion(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) )
- #define ID3D12GraphicsCommandList3_CopyTextureRegion(This,pDst,DstX,DstY,DstZ,pSrc,pSrcBox) \
- ( (This)->lpVtbl -> CopyTextureRegion(This,pDst,DstX,DstY,DstZ,pSrc,pSrcBox) )
- #define ID3D12GraphicsCommandList3_CopyResource(This,pDstResource,pSrcResource) \
- ( (This)->lpVtbl -> CopyResource(This,pDstResource,pSrcResource) )
- #define ID3D12GraphicsCommandList3_CopyTiles(This,pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) \
- ( (This)->lpVtbl -> CopyTiles(This,pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) )
- #define ID3D12GraphicsCommandList3_ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) \
- ( (This)->lpVtbl -> ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) )
- #define ID3D12GraphicsCommandList3_IASetPrimitiveTopology(This,PrimitiveTopology) \
- ( (This)->lpVtbl -> IASetPrimitiveTopology(This,PrimitiveTopology) )
- #define ID3D12GraphicsCommandList3_RSSetViewports(This,NumViewports,pViewports) \
- ( (This)->lpVtbl -> RSSetViewports(This,NumViewports,pViewports) )
- #define ID3D12GraphicsCommandList3_RSSetScissorRects(This,NumRects,pRects) \
- ( (This)->lpVtbl -> RSSetScissorRects(This,NumRects,pRects) )
- #define ID3D12GraphicsCommandList3_OMSetBlendFactor(This,BlendFactor) \
- ( (This)->lpVtbl -> OMSetBlendFactor(This,BlendFactor) )
- #define ID3D12GraphicsCommandList3_OMSetStencilRef(This,StencilRef) \
- ( (This)->lpVtbl -> OMSetStencilRef(This,StencilRef) )
- #define ID3D12GraphicsCommandList3_SetPipelineState(This,pPipelineState) \
- ( (This)->lpVtbl -> SetPipelineState(This,pPipelineState) )
- #define ID3D12GraphicsCommandList3_ResourceBarrier(This,NumBarriers,pBarriers) \
- ( (This)->lpVtbl -> ResourceBarrier(This,NumBarriers,pBarriers) )
- #define ID3D12GraphicsCommandList3_ExecuteBundle(This,pCommandList) \
- ( (This)->lpVtbl -> ExecuteBundle(This,pCommandList) )
- #define ID3D12GraphicsCommandList3_SetDescriptorHeaps(This,NumDescriptorHeaps,ppDescriptorHeaps) \
- ( (This)->lpVtbl -> SetDescriptorHeaps(This,NumDescriptorHeaps,ppDescriptorHeaps) )
- #define ID3D12GraphicsCommandList3_SetComputeRootSignature(This,pRootSignature) \
- ( (This)->lpVtbl -> SetComputeRootSignature(This,pRootSignature) )
- #define ID3D12GraphicsCommandList3_SetGraphicsRootSignature(This,pRootSignature) \
- ( (This)->lpVtbl -> SetGraphicsRootSignature(This,pRootSignature) )
- #define ID3D12GraphicsCommandList3_SetComputeRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) \
- ( (This)->lpVtbl -> SetComputeRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) )
- #define ID3D12GraphicsCommandList3_SetGraphicsRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) \
- ( (This)->lpVtbl -> SetGraphicsRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) )
- #define ID3D12GraphicsCommandList3_SetComputeRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) \
- ( (This)->lpVtbl -> SetComputeRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) )
- #define ID3D12GraphicsCommandList3_SetGraphicsRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) \
- ( (This)->lpVtbl -> SetGraphicsRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) )
- #define ID3D12GraphicsCommandList3_SetComputeRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) \
- ( (This)->lpVtbl -> SetComputeRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) )
- #define ID3D12GraphicsCommandList3_SetGraphicsRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) \
- ( (This)->lpVtbl -> SetGraphicsRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) )
- #define ID3D12GraphicsCommandList3_SetComputeRootConstantBufferView(This,RootParameterIndex,BufferLocation) \
- ( (This)->lpVtbl -> SetComputeRootConstantBufferView(This,RootParameterIndex,BufferLocation) )
- #define ID3D12GraphicsCommandList3_SetGraphicsRootConstantBufferView(This,RootParameterIndex,BufferLocation) \
- ( (This)->lpVtbl -> SetGraphicsRootConstantBufferView(This,RootParameterIndex,BufferLocation) )
- #define ID3D12GraphicsCommandList3_SetComputeRootShaderResourceView(This,RootParameterIndex,BufferLocation) \
- ( (This)->lpVtbl -> SetComputeRootShaderResourceView(This,RootParameterIndex,BufferLocation) )
- #define ID3D12GraphicsCommandList3_SetGraphicsRootShaderResourceView(This,RootParameterIndex,BufferLocation) \
- ( (This)->lpVtbl -> SetGraphicsRootShaderResourceView(This,RootParameterIndex,BufferLocation) )
- #define ID3D12GraphicsCommandList3_SetComputeRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) \
- ( (This)->lpVtbl -> SetComputeRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) )
- #define ID3D12GraphicsCommandList3_SetGraphicsRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) \
- ( (This)->lpVtbl -> SetGraphicsRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) )
- #define ID3D12GraphicsCommandList3_IASetIndexBuffer(This,pView) \
- ( (This)->lpVtbl -> IASetIndexBuffer(This,pView) )
- #define ID3D12GraphicsCommandList3_IASetVertexBuffers(This,StartSlot,NumViews,pViews) \
- ( (This)->lpVtbl -> IASetVertexBuffers(This,StartSlot,NumViews,pViews) )
- #define ID3D12GraphicsCommandList3_SOSetTargets(This,StartSlot,NumViews,pViews) \
- ( (This)->lpVtbl -> SOSetTargets(This,StartSlot,NumViews,pViews) )
- #define ID3D12GraphicsCommandList3_OMSetRenderTargets(This,NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) \
- ( (This)->lpVtbl -> OMSetRenderTargets(This,NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) )
- #define ID3D12GraphicsCommandList3_ClearDepthStencilView(This,DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) \
- ( (This)->lpVtbl -> ClearDepthStencilView(This,DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) )
- #define ID3D12GraphicsCommandList3_ClearRenderTargetView(This,RenderTargetView,ColorRGBA,NumRects,pRects) \
- ( (This)->lpVtbl -> ClearRenderTargetView(This,RenderTargetView,ColorRGBA,NumRects,pRects) )
- #define ID3D12GraphicsCommandList3_ClearUnorderedAccessViewUint(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) \
- ( (This)->lpVtbl -> ClearUnorderedAccessViewUint(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) )
- #define ID3D12GraphicsCommandList3_ClearUnorderedAccessViewFloat(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) \
- ( (This)->lpVtbl -> ClearUnorderedAccessViewFloat(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) )
- #define ID3D12GraphicsCommandList3_DiscardResource(This,pResource,pRegion) \
- ( (This)->lpVtbl -> DiscardResource(This,pResource,pRegion) )
- #define ID3D12GraphicsCommandList3_BeginQuery(This,pQueryHeap,Type,Index) \
- ( (This)->lpVtbl -> BeginQuery(This,pQueryHeap,Type,Index) )
- #define ID3D12GraphicsCommandList3_EndQuery(This,pQueryHeap,Type,Index) \
- ( (This)->lpVtbl -> EndQuery(This,pQueryHeap,Type,Index) )
- #define ID3D12GraphicsCommandList3_ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) \
- ( (This)->lpVtbl -> ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) )
- #define ID3D12GraphicsCommandList3_SetPredication(This,pBuffer,AlignedBufferOffset,Operation) \
- ( (This)->lpVtbl -> SetPredication(This,pBuffer,AlignedBufferOffset,Operation) )
- #define ID3D12GraphicsCommandList3_SetMarker(This,Metadata,pData,Size) \
- ( (This)->lpVtbl -> SetMarker(This,Metadata,pData,Size) )
- #define ID3D12GraphicsCommandList3_BeginEvent(This,Metadata,pData,Size) \
- ( (This)->lpVtbl -> BeginEvent(This,Metadata,pData,Size) )
- #define ID3D12GraphicsCommandList3_EndEvent(This) \
- ( (This)->lpVtbl -> EndEvent(This) )
- #define ID3D12GraphicsCommandList3_ExecuteIndirect(This,pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) \
- ( (This)->lpVtbl -> ExecuteIndirect(This,pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) )
- #define ID3D12GraphicsCommandList3_AtomicCopyBufferUINT(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) \
- ( (This)->lpVtbl -> AtomicCopyBufferUINT(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) )
- #define ID3D12GraphicsCommandList3_AtomicCopyBufferUINT64(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) \
- ( (This)->lpVtbl -> AtomicCopyBufferUINT64(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) )
- #define ID3D12GraphicsCommandList3_OMSetDepthBounds(This,Min,Max) \
- ( (This)->lpVtbl -> OMSetDepthBounds(This,Min,Max) )
- #define ID3D12GraphicsCommandList3_SetSamplePositions(This,NumSamplesPerPixel,NumPixels,pSamplePositions) \
- ( (This)->lpVtbl -> SetSamplePositions(This,NumSamplesPerPixel,NumPixels,pSamplePositions) )
- #define ID3D12GraphicsCommandList3_ResolveSubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode) \
- ( (This)->lpVtbl -> ResolveSubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode) )
- #define ID3D12GraphicsCommandList3_SetViewInstanceMask(This,Mask) \
- ( (This)->lpVtbl -> SetViewInstanceMask(This,Mask) )
- #define ID3D12GraphicsCommandList3_WriteBufferImmediate(This,Count,pParams,pModes) \
- ( (This)->lpVtbl -> WriteBufferImmediate(This,Count,pParams,pModes) )
- #define ID3D12GraphicsCommandList3_SetProtectedResourceSession(This,pProtectedResourceSession) \
- ( (This)->lpVtbl -> SetProtectedResourceSession(This,pProtectedResourceSession) )
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __ID3D12GraphicsCommandList3_INTERFACE_DEFINED__ */
- /* interface __MIDL_itf_d3d12_0000_0049 */
- /* [local] */
- typedef
- enum D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE
- {
- D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_DISCARD = 0,
- D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_PRESERVE = ( D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_DISCARD + 1 ) ,
- D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_CLEAR = ( D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_PRESERVE + 1 ) ,
- D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_NO_ACCESS = ( D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_CLEAR + 1 ) ,
- D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_PRESERVE_LOCAL_RENDER = ( D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_NO_ACCESS + 1 ) ,
- D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_PRESERVE_LOCAL_SRV = ( D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_PRESERVE_LOCAL_RENDER + 1 ) ,
- D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_PRESERVE_LOCAL_UAV = ( D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_PRESERVE_LOCAL_SRV + 1 )
- } D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE;
- typedef struct D3D12_RENDER_PASS_BEGINNING_ACCESS_CLEAR_PARAMETERS
- {
- D3D12_CLEAR_VALUE ClearValue;
- } D3D12_RENDER_PASS_BEGINNING_ACCESS_CLEAR_PARAMETERS;
- typedef struct D3D12_RENDER_PASS_BEGINNING_ACCESS_PRESERVE_LOCAL_PARAMETERS
- {
- UINT AdditionalWidth;
- UINT AdditionalHeight;
- } D3D12_RENDER_PASS_BEGINNING_ACCESS_PRESERVE_LOCAL_PARAMETERS;
- typedef struct D3D12_RENDER_PASS_BEGINNING_ACCESS
- {
- D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE Type;
- union
- {
- D3D12_RENDER_PASS_BEGINNING_ACCESS_CLEAR_PARAMETERS Clear;
- D3D12_RENDER_PASS_BEGINNING_ACCESS_PRESERVE_LOCAL_PARAMETERS PreserveLocal;
- } ;
- } D3D12_RENDER_PASS_BEGINNING_ACCESS;
- typedef
- enum D3D12_RENDER_PASS_ENDING_ACCESS_TYPE
- {
- D3D12_RENDER_PASS_ENDING_ACCESS_TYPE_DISCARD = 0,
- D3D12_RENDER_PASS_ENDING_ACCESS_TYPE_PRESERVE = ( D3D12_RENDER_PASS_ENDING_ACCESS_TYPE_DISCARD + 1 ) ,
- D3D12_RENDER_PASS_ENDING_ACCESS_TYPE_RESOLVE = ( D3D12_RENDER_PASS_ENDING_ACCESS_TYPE_PRESERVE + 1 ) ,
- D3D12_RENDER_PASS_ENDING_ACCESS_TYPE_NO_ACCESS = ( D3D12_RENDER_PASS_ENDING_ACCESS_TYPE_RESOLVE + 1 ) ,
- D3D12_RENDER_PASS_ENDING_ACCESS_TYPE_PRESERVE_LOCAL_RENDER = ( D3D12_RENDER_PASS_ENDING_ACCESS_TYPE_NO_ACCESS + 1 ) ,
- D3D12_RENDER_PASS_ENDING_ACCESS_TYPE_PRESERVE_LOCAL_SRV = ( D3D12_RENDER_PASS_ENDING_ACCESS_TYPE_PRESERVE_LOCAL_RENDER + 1 ) ,
- D3D12_RENDER_PASS_ENDING_ACCESS_TYPE_PRESERVE_LOCAL_UAV = ( D3D12_RENDER_PASS_ENDING_ACCESS_TYPE_PRESERVE_LOCAL_SRV + 1 )
- } D3D12_RENDER_PASS_ENDING_ACCESS_TYPE;
- typedef struct D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_SUBRESOURCE_PARAMETERS
- {
- UINT SrcSubresource;
- UINT DstSubresource;
- UINT DstX;
- UINT DstY;
- D3D12_RECT SrcRect;
- } D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_SUBRESOURCE_PARAMETERS;
- typedef struct D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_PARAMETERS
- {
- ID3D12Resource *pSrcResource;
- ID3D12Resource *pDstResource;
- UINT SubresourceCount;
- _Field_size_full_(SubresourceCount) const D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_SUBRESOURCE_PARAMETERS *pSubresourceParameters;
- DXGI_FORMAT Format;
- D3D12_RESOLVE_MODE ResolveMode;
- BOOL PreserveResolveSource;
- } D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_PARAMETERS;
- typedef struct D3D12_RENDER_PASS_ENDING_ACCESS_PRESERVE_LOCAL_PARAMETERS
- {
- UINT AdditionalWidth;
- UINT AdditionalHeight;
- } D3D12_RENDER_PASS_ENDING_ACCESS_PRESERVE_LOCAL_PARAMETERS;
- typedef struct D3D12_RENDER_PASS_ENDING_ACCESS
- {
- D3D12_RENDER_PASS_ENDING_ACCESS_TYPE Type;
- union
- {
- D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_PARAMETERS Resolve;
- D3D12_RENDER_PASS_ENDING_ACCESS_PRESERVE_LOCAL_PARAMETERS PreserveLocal;
- } ;
- } D3D12_RENDER_PASS_ENDING_ACCESS;
- typedef struct D3D12_RENDER_PASS_RENDER_TARGET_DESC
- {
- D3D12_CPU_DESCRIPTOR_HANDLE cpuDescriptor;
- D3D12_RENDER_PASS_BEGINNING_ACCESS BeginningAccess;
- D3D12_RENDER_PASS_ENDING_ACCESS EndingAccess;
- } D3D12_RENDER_PASS_RENDER_TARGET_DESC;
- typedef struct D3D12_RENDER_PASS_DEPTH_STENCIL_DESC
- {
- D3D12_CPU_DESCRIPTOR_HANDLE cpuDescriptor;
- D3D12_RENDER_PASS_BEGINNING_ACCESS DepthBeginningAccess;
- D3D12_RENDER_PASS_BEGINNING_ACCESS StencilBeginningAccess;
- D3D12_RENDER_PASS_ENDING_ACCESS DepthEndingAccess;
- D3D12_RENDER_PASS_ENDING_ACCESS StencilEndingAccess;
- } D3D12_RENDER_PASS_DEPTH_STENCIL_DESC;
- typedef
- enum D3D12_RENDER_PASS_FLAGS
- {
- D3D12_RENDER_PASS_FLAG_NONE = 0,
- D3D12_RENDER_PASS_FLAG_ALLOW_UAV_WRITES = 0x1,
- D3D12_RENDER_PASS_FLAG_SUSPENDING_PASS = 0x2,
- D3D12_RENDER_PASS_FLAG_RESUMING_PASS = 0x4,
- D3D12_RENDER_PASS_FLAG_BIND_READ_ONLY_DEPTH = 0x8,
- D3D12_RENDER_PASS_FLAG_BIND_READ_ONLY_STENCIL = 0x10
- } D3D12_RENDER_PASS_FLAGS;
- DEFINE_ENUM_FLAG_OPERATORS( D3D12_RENDER_PASS_FLAGS );
- extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0049_v0_0_c_ifspec;
- extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0049_v0_0_s_ifspec;
- #ifndef __ID3D12MetaCommand_INTERFACE_DEFINED__
- #define __ID3D12MetaCommand_INTERFACE_DEFINED__
- /* interface ID3D12MetaCommand */
- /* [unique][local][object][uuid] */
- EXTERN_C const IID IID_ID3D12MetaCommand;
- #if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("DBB84C27-36CE-4FC9-B801-F048C46AC570")
- ID3D12MetaCommand : public ID3D12Pageable
- {
- public:
- virtual UINT64 STDMETHODCALLTYPE GetRequiredParameterResourceSize(
- _In_ D3D12_META_COMMAND_PARAMETER_STAGE Stage,
- _In_ UINT ParameterIndex) = 0;
-
- };
-
-
- #else /* C style interface */
- typedef struct ID3D12MetaCommandVtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12MetaCommand * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12MetaCommand * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12MetaCommand * This);
-
- DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12MetaCommand * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12MetaCommand * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12MetaCommand * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetName)
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12MetaCommand * This,
- _In_z_ LPCWSTR Name);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice)
- HRESULT ( STDMETHODCALLTYPE *GetDevice )(
- ID3D12MetaCommand * This,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvDevice);
-
- DECLSPEC_XFGVIRT(ID3D12MetaCommand, GetRequiredParameterResourceSize)
- UINT64 ( STDMETHODCALLTYPE *GetRequiredParameterResourceSize )(
- ID3D12MetaCommand * This,
- _In_ D3D12_META_COMMAND_PARAMETER_STAGE Stage,
- _In_ UINT ParameterIndex);
-
- END_INTERFACE
- } ID3D12MetaCommandVtbl;
- interface ID3D12MetaCommand
- {
- CONST_VTBL struct ID3D12MetaCommandVtbl *lpVtbl;
- };
-
- #ifdef COBJMACROS
- #define ID3D12MetaCommand_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define ID3D12MetaCommand_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define ID3D12MetaCommand_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #define ID3D12MetaCommand_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
- #define ID3D12MetaCommand_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
- #define ID3D12MetaCommand_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
- #define ID3D12MetaCommand_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
- #define ID3D12MetaCommand_GetDevice(This,riid,ppvDevice) \
- ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
- #define ID3D12MetaCommand_GetRequiredParameterResourceSize(This,Stage,ParameterIndex) \
- ( (This)->lpVtbl -> GetRequiredParameterResourceSize(This,Stage,ParameterIndex) )
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __ID3D12MetaCommand_INTERFACE_DEFINED__ */
- /* interface __MIDL_itf_d3d12_0000_0050 */
- /* [local] */
- typedef struct D3D12_DISPATCH_RAYS_DESC
- {
- D3D12_GPU_VIRTUAL_ADDRESS_RANGE RayGenerationShaderRecord;
- D3D12_GPU_VIRTUAL_ADDRESS_RANGE_AND_STRIDE MissShaderTable;
- D3D12_GPU_VIRTUAL_ADDRESS_RANGE_AND_STRIDE HitGroupTable;
- D3D12_GPU_VIRTUAL_ADDRESS_RANGE_AND_STRIDE CallableShaderTable;
- UINT Width;
- UINT Height;
- UINT Depth;
- } D3D12_DISPATCH_RAYS_DESC;
- extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0050_v0_0_c_ifspec;
- extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0050_v0_0_s_ifspec;
- #ifndef __ID3D12GraphicsCommandList4_INTERFACE_DEFINED__
- #define __ID3D12GraphicsCommandList4_INTERFACE_DEFINED__
- /* interface ID3D12GraphicsCommandList4 */
- /* [unique][local][object][uuid] */
- EXTERN_C const IID IID_ID3D12GraphicsCommandList4;
- #if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("8754318e-d3a9-4541-98cf-645b50dc4874")
- ID3D12GraphicsCommandList4 : public ID3D12GraphicsCommandList3
- {
- public:
- virtual void STDMETHODCALLTYPE BeginRenderPass(
- _In_ UINT NumRenderTargets,
- _In_reads_opt_(NumRenderTargets) const D3D12_RENDER_PASS_RENDER_TARGET_DESC *pRenderTargets,
- _In_opt_ const D3D12_RENDER_PASS_DEPTH_STENCIL_DESC *pDepthStencil,
- D3D12_RENDER_PASS_FLAGS Flags) = 0;
-
- virtual void STDMETHODCALLTYPE EndRenderPass( void) = 0;
-
- virtual void STDMETHODCALLTYPE InitializeMetaCommand(
- _In_ ID3D12MetaCommand *pMetaCommand,
- _In_reads_bytes_opt_(InitializationParametersDataSizeInBytes) const void *pInitializationParametersData,
- _In_ SIZE_T InitializationParametersDataSizeInBytes) = 0;
-
- virtual void STDMETHODCALLTYPE ExecuteMetaCommand(
- _In_ ID3D12MetaCommand *pMetaCommand,
- _In_reads_bytes_opt_(ExecutionParametersDataSizeInBytes) const void *pExecutionParametersData,
- _In_ SIZE_T ExecutionParametersDataSizeInBytes) = 0;
-
- virtual void STDMETHODCALLTYPE BuildRaytracingAccelerationStructure(
- _In_ const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC *pDesc,
- _In_ UINT NumPostbuildInfoDescs,
- _In_reads_opt_(NumPostbuildInfoDescs) const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC *pPostbuildInfoDescs) = 0;
-
- virtual void STDMETHODCALLTYPE EmitRaytracingAccelerationStructurePostbuildInfo(
- _In_ const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC *pDesc,
- _In_ UINT NumSourceAccelerationStructures,
- _In_reads_( NumSourceAccelerationStructures ) const D3D12_GPU_VIRTUAL_ADDRESS *pSourceAccelerationStructureData) = 0;
-
- virtual void STDMETHODCALLTYPE CopyRaytracingAccelerationStructure(
- _In_ D3D12_GPU_VIRTUAL_ADDRESS DestAccelerationStructureData,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS SourceAccelerationStructureData,
- _In_ D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE Mode) = 0;
-
- virtual void STDMETHODCALLTYPE SetPipelineState1(
- _In_ ID3D12StateObject *pStateObject) = 0;
-
- virtual void STDMETHODCALLTYPE DispatchRays(
- _In_ const D3D12_DISPATCH_RAYS_DESC *pDesc) = 0;
-
- };
-
-
- #else /* C style interface */
- typedef struct ID3D12GraphicsCommandList4Vtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12GraphicsCommandList4 * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12GraphicsCommandList4 * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12GraphicsCommandList4 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12GraphicsCommandList4 * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12GraphicsCommandList4 * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12GraphicsCommandList4 * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetName)
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12GraphicsCommandList4 * This,
- _In_z_ LPCWSTR Name);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice)
- HRESULT ( STDMETHODCALLTYPE *GetDevice )(
- ID3D12GraphicsCommandList4 * This,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvDevice);
-
- DECLSPEC_XFGVIRT(ID3D12CommandList, GetType)
- D3D12_COMMAND_LIST_TYPE ( STDMETHODCALLTYPE *GetType )(
- ID3D12GraphicsCommandList4 * This);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, Close)
- HRESULT ( STDMETHODCALLTYPE *Close )(
- ID3D12GraphicsCommandList4 * This);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, Reset)
- HRESULT ( STDMETHODCALLTYPE *Reset )(
- ID3D12GraphicsCommandList4 * This,
- _In_ ID3D12CommandAllocator *pAllocator,
- _In_opt_ ID3D12PipelineState *pInitialState);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearState)
- void ( STDMETHODCALLTYPE *ClearState )(
- ID3D12GraphicsCommandList4 * This,
- _In_opt_ ID3D12PipelineState *pPipelineState);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, DrawInstanced)
- void ( STDMETHODCALLTYPE *DrawInstanced )(
- ID3D12GraphicsCommandList4 * This,
- _In_ UINT VertexCountPerInstance,
- _In_ UINT InstanceCount,
- _In_ UINT StartVertexLocation,
- _In_ UINT StartInstanceLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, DrawIndexedInstanced)
- void ( STDMETHODCALLTYPE *DrawIndexedInstanced )(
- ID3D12GraphicsCommandList4 * This,
- _In_ UINT IndexCountPerInstance,
- _In_ UINT InstanceCount,
- _In_ UINT StartIndexLocation,
- _In_ INT BaseVertexLocation,
- _In_ UINT StartInstanceLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, Dispatch)
- void ( STDMETHODCALLTYPE *Dispatch )(
- ID3D12GraphicsCommandList4 * This,
- _In_ UINT ThreadGroupCountX,
- _In_ UINT ThreadGroupCountY,
- _In_ UINT ThreadGroupCountZ);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyBufferRegion)
- void ( STDMETHODCALLTYPE *CopyBufferRegion )(
- ID3D12GraphicsCommandList4 * This,
- _In_ ID3D12Resource *pDstBuffer,
- UINT64 DstOffset,
- _In_ ID3D12Resource *pSrcBuffer,
- UINT64 SrcOffset,
- UINT64 NumBytes);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyTextureRegion)
- void ( STDMETHODCALLTYPE *CopyTextureRegion )(
- ID3D12GraphicsCommandList4 * This,
- _In_ const D3D12_TEXTURE_COPY_LOCATION *pDst,
- UINT DstX,
- UINT DstY,
- UINT DstZ,
- _In_ const D3D12_TEXTURE_COPY_LOCATION *pSrc,
- _In_opt_ const D3D12_BOX *pSrcBox);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyResource)
- void ( STDMETHODCALLTYPE *CopyResource )(
- ID3D12GraphicsCommandList4 * This,
- _In_ ID3D12Resource *pDstResource,
- _In_ ID3D12Resource *pSrcResource);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyTiles)
- void ( STDMETHODCALLTYPE *CopyTiles )(
- ID3D12GraphicsCommandList4 * This,
- _In_ ID3D12Resource *pTiledResource,
- _In_ const D3D12_TILED_RESOURCE_COORDINATE *pTileRegionStartCoordinate,
- _In_ const D3D12_TILE_REGION_SIZE *pTileRegionSize,
- _In_ ID3D12Resource *pBuffer,
- UINT64 BufferStartOffsetInBytes,
- D3D12_TILE_COPY_FLAGS Flags);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ResolveSubresource)
- void ( STDMETHODCALLTYPE *ResolveSubresource )(
- ID3D12GraphicsCommandList4 * This,
- _In_ ID3D12Resource *pDstResource,
- _In_ UINT DstSubresource,
- _In_ ID3D12Resource *pSrcResource,
- _In_ UINT SrcSubresource,
- _In_ DXGI_FORMAT Format);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, IASetPrimitiveTopology)
- void ( STDMETHODCALLTYPE *IASetPrimitiveTopology )(
- ID3D12GraphicsCommandList4 * This,
- _In_ D3D12_PRIMITIVE_TOPOLOGY PrimitiveTopology);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, RSSetViewports)
- void ( STDMETHODCALLTYPE *RSSetViewports )(
- ID3D12GraphicsCommandList4 * This,
- _In_range_(0, D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE) UINT NumViewports,
- _In_reads_( NumViewports) const D3D12_VIEWPORT *pViewports);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, RSSetScissorRects)
- void ( STDMETHODCALLTYPE *RSSetScissorRects )(
- ID3D12GraphicsCommandList4 * This,
- _In_range_(0, D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE) UINT NumRects,
- _In_reads_( NumRects) const D3D12_RECT *pRects);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, OMSetBlendFactor)
- void ( STDMETHODCALLTYPE *OMSetBlendFactor )(
- ID3D12GraphicsCommandList4 * This,
- _In_reads_opt_(4) const FLOAT BlendFactor[ 4 ]);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, OMSetStencilRef)
- void ( STDMETHODCALLTYPE *OMSetStencilRef )(
- ID3D12GraphicsCommandList4 * This,
- _In_ UINT StencilRef);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetPipelineState)
- void ( STDMETHODCALLTYPE *SetPipelineState )(
- ID3D12GraphicsCommandList4 * This,
- _In_ ID3D12PipelineState *pPipelineState);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ResourceBarrier)
- void ( STDMETHODCALLTYPE *ResourceBarrier )(
- ID3D12GraphicsCommandList4 * This,
- _In_ UINT NumBarriers,
- _In_reads_(NumBarriers) const D3D12_RESOURCE_BARRIER *pBarriers);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ExecuteBundle)
- void ( STDMETHODCALLTYPE *ExecuteBundle )(
- ID3D12GraphicsCommandList4 * This,
- _In_ ID3D12GraphicsCommandList *pCommandList);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetDescriptorHeaps)
- void ( STDMETHODCALLTYPE *SetDescriptorHeaps )(
- ID3D12GraphicsCommandList4 * This,
- _In_ UINT NumDescriptorHeaps,
- _In_reads_(NumDescriptorHeaps) ID3D12DescriptorHeap *const *ppDescriptorHeaps);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootSignature)
- void ( STDMETHODCALLTYPE *SetComputeRootSignature )(
- ID3D12GraphicsCommandList4 * This,
- _In_opt_ ID3D12RootSignature *pRootSignature);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootSignature)
- void ( STDMETHODCALLTYPE *SetGraphicsRootSignature )(
- ID3D12GraphicsCommandList4 * This,
- _In_opt_ ID3D12RootSignature *pRootSignature);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootDescriptorTable)
- void ( STDMETHODCALLTYPE *SetComputeRootDescriptorTable )(
- ID3D12GraphicsCommandList4 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootDescriptorTable)
- void ( STDMETHODCALLTYPE *SetGraphicsRootDescriptorTable )(
- ID3D12GraphicsCommandList4 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRoot32BitConstant)
- void ( STDMETHODCALLTYPE *SetComputeRoot32BitConstant )(
- ID3D12GraphicsCommandList4 * This,
- _In_ UINT RootParameterIndex,
- _In_ UINT SrcData,
- _In_ UINT DestOffsetIn32BitValues);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRoot32BitConstant)
- void ( STDMETHODCALLTYPE *SetGraphicsRoot32BitConstant )(
- ID3D12GraphicsCommandList4 * This,
- _In_ UINT RootParameterIndex,
- _In_ UINT SrcData,
- _In_ UINT DestOffsetIn32BitValues);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRoot32BitConstants)
- void ( STDMETHODCALLTYPE *SetComputeRoot32BitConstants )(
- ID3D12GraphicsCommandList4 * This,
- _In_ UINT RootParameterIndex,
- _In_ UINT Num32BitValuesToSet,
- _In_reads_(Num32BitValuesToSet*sizeof(UINT)) const void *pSrcData,
- _In_ UINT DestOffsetIn32BitValues);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRoot32BitConstants)
- void ( STDMETHODCALLTYPE *SetGraphicsRoot32BitConstants )(
- ID3D12GraphicsCommandList4 * This,
- _In_ UINT RootParameterIndex,
- _In_ UINT Num32BitValuesToSet,
- _In_reads_(Num32BitValuesToSet*sizeof(UINT)) const void *pSrcData,
- _In_ UINT DestOffsetIn32BitValues);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootConstantBufferView)
- void ( STDMETHODCALLTYPE *SetComputeRootConstantBufferView )(
- ID3D12GraphicsCommandList4 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootConstantBufferView)
- void ( STDMETHODCALLTYPE *SetGraphicsRootConstantBufferView )(
- ID3D12GraphicsCommandList4 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootShaderResourceView)
- void ( STDMETHODCALLTYPE *SetComputeRootShaderResourceView )(
- ID3D12GraphicsCommandList4 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootShaderResourceView)
- void ( STDMETHODCALLTYPE *SetGraphicsRootShaderResourceView )(
- ID3D12GraphicsCommandList4 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootUnorderedAccessView)
- void ( STDMETHODCALLTYPE *SetComputeRootUnorderedAccessView )(
- ID3D12GraphicsCommandList4 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootUnorderedAccessView)
- void ( STDMETHODCALLTYPE *SetGraphicsRootUnorderedAccessView )(
- ID3D12GraphicsCommandList4 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, IASetIndexBuffer)
- void ( STDMETHODCALLTYPE *IASetIndexBuffer )(
- ID3D12GraphicsCommandList4 * This,
- _In_opt_ const D3D12_INDEX_BUFFER_VIEW *pView);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, IASetVertexBuffers)
- void ( STDMETHODCALLTYPE *IASetVertexBuffers )(
- ID3D12GraphicsCommandList4 * This,
- _In_ UINT StartSlot,
- _In_ UINT NumViews,
- _In_reads_opt_(NumViews) const D3D12_VERTEX_BUFFER_VIEW *pViews);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SOSetTargets)
- void ( STDMETHODCALLTYPE *SOSetTargets )(
- ID3D12GraphicsCommandList4 * This,
- _In_ UINT StartSlot,
- _In_ UINT NumViews,
- _In_reads_opt_(NumViews) const D3D12_STREAM_OUTPUT_BUFFER_VIEW *pViews);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, OMSetRenderTargets)
- void ( STDMETHODCALLTYPE *OMSetRenderTargets )(
- ID3D12GraphicsCommandList4 * This,
- _In_ UINT NumRenderTargetDescriptors,
- _In_opt_ const D3D12_CPU_DESCRIPTOR_HANDLE *pRenderTargetDescriptors,
- _In_ BOOL RTsSingleHandleToDescriptorRange,
- _In_opt_ const D3D12_CPU_DESCRIPTOR_HANDLE *pDepthStencilDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearDepthStencilView)
- void ( STDMETHODCALLTYPE *ClearDepthStencilView )(
- ID3D12GraphicsCommandList4 * This,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DepthStencilView,
- _In_ D3D12_CLEAR_FLAGS ClearFlags,
- _In_ FLOAT Depth,
- _In_ UINT8 Stencil,
- _In_ UINT NumRects,
- _In_reads_(NumRects) const D3D12_RECT *pRects);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearRenderTargetView)
- void ( STDMETHODCALLTYPE *ClearRenderTargetView )(
- ID3D12GraphicsCommandList4 * This,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE RenderTargetView,
- _In_ const FLOAT ColorRGBA[ 4 ],
- _In_ UINT NumRects,
- _In_reads_(NumRects) const D3D12_RECT *pRects);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearUnorderedAccessViewUint)
- void ( STDMETHODCALLTYPE *ClearUnorderedAccessViewUint )(
- ID3D12GraphicsCommandList4 * This,
- _In_ D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle,
- _In_ ID3D12Resource *pResource,
- _In_ const UINT Values[ 4 ],
- _In_ UINT NumRects,
- _In_reads_(NumRects) const D3D12_RECT *pRects);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearUnorderedAccessViewFloat)
- void ( STDMETHODCALLTYPE *ClearUnorderedAccessViewFloat )(
- ID3D12GraphicsCommandList4 * This,
- _In_ D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle,
- _In_ ID3D12Resource *pResource,
- _In_ const FLOAT Values[ 4 ],
- _In_ UINT NumRects,
- _In_reads_(NumRects) const D3D12_RECT *pRects);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, DiscardResource)
- void ( STDMETHODCALLTYPE *DiscardResource )(
- ID3D12GraphicsCommandList4 * This,
- _In_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_DISCARD_REGION *pRegion);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, BeginQuery)
- void ( STDMETHODCALLTYPE *BeginQuery )(
- ID3D12GraphicsCommandList4 * This,
- _In_ ID3D12QueryHeap *pQueryHeap,
- _In_ D3D12_QUERY_TYPE Type,
- _In_ UINT Index);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, EndQuery)
- void ( STDMETHODCALLTYPE *EndQuery )(
- ID3D12GraphicsCommandList4 * This,
- _In_ ID3D12QueryHeap *pQueryHeap,
- _In_ D3D12_QUERY_TYPE Type,
- _In_ UINT Index);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ResolveQueryData)
- void ( STDMETHODCALLTYPE *ResolveQueryData )(
- ID3D12GraphicsCommandList4 * This,
- _In_ ID3D12QueryHeap *pQueryHeap,
- _In_ D3D12_QUERY_TYPE Type,
- _In_ UINT StartIndex,
- _In_ UINT NumQueries,
- _In_ ID3D12Resource *pDestinationBuffer,
- _In_ UINT64 AlignedDestinationBufferOffset);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetPredication)
- void ( STDMETHODCALLTYPE *SetPredication )(
- ID3D12GraphicsCommandList4 * This,
- _In_opt_ ID3D12Resource *pBuffer,
- _In_ UINT64 AlignedBufferOffset,
- _In_ D3D12_PREDICATION_OP Operation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetMarker)
- void ( STDMETHODCALLTYPE *SetMarker )(
- ID3D12GraphicsCommandList4 * This,
- UINT Metadata,
- _In_reads_bytes_opt_(Size) const void *pData,
- UINT Size);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, BeginEvent)
- void ( STDMETHODCALLTYPE *BeginEvent )(
- ID3D12GraphicsCommandList4 * This,
- UINT Metadata,
- _In_reads_bytes_opt_(Size) const void *pData,
- UINT Size);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, EndEvent)
- void ( STDMETHODCALLTYPE *EndEvent )(
- ID3D12GraphicsCommandList4 * This);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ExecuteIndirect)
- void ( STDMETHODCALLTYPE *ExecuteIndirect )(
- ID3D12GraphicsCommandList4 * This,
- _In_ ID3D12CommandSignature *pCommandSignature,
- _In_ UINT MaxCommandCount,
- _In_ ID3D12Resource *pArgumentBuffer,
- _In_ UINT64 ArgumentBufferOffset,
- _In_opt_ ID3D12Resource *pCountBuffer,
- _In_ UINT64 CountBufferOffset);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, AtomicCopyBufferUINT)
- void ( STDMETHODCALLTYPE *AtomicCopyBufferUINT )(
- ID3D12GraphicsCommandList4 * This,
- _In_ ID3D12Resource *pDstBuffer,
- UINT64 DstOffset,
- _In_ ID3D12Resource *pSrcBuffer,
- UINT64 SrcOffset,
- UINT Dependencies,
- _In_reads_(Dependencies) ID3D12Resource *const *ppDependentResources,
- _In_reads_(Dependencies) const D3D12_SUBRESOURCE_RANGE_UINT64 *pDependentSubresourceRanges);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, AtomicCopyBufferUINT64)
- void ( STDMETHODCALLTYPE *AtomicCopyBufferUINT64 )(
- ID3D12GraphicsCommandList4 * This,
- _In_ ID3D12Resource *pDstBuffer,
- UINT64 DstOffset,
- _In_ ID3D12Resource *pSrcBuffer,
- UINT64 SrcOffset,
- UINT Dependencies,
- _In_reads_(Dependencies) ID3D12Resource *const *ppDependentResources,
- _In_reads_(Dependencies) const D3D12_SUBRESOURCE_RANGE_UINT64 *pDependentSubresourceRanges);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, OMSetDepthBounds)
- void ( STDMETHODCALLTYPE *OMSetDepthBounds )(
- ID3D12GraphicsCommandList4 * This,
- _In_ FLOAT Min,
- _In_ FLOAT Max);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, SetSamplePositions)
- void ( STDMETHODCALLTYPE *SetSamplePositions )(
- ID3D12GraphicsCommandList4 * This,
- _In_ UINT NumSamplesPerPixel,
- _In_ UINT NumPixels,
- _In_reads_(NumSamplesPerPixel*NumPixels) D3D12_SAMPLE_POSITION *pSamplePositions);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, ResolveSubresourceRegion)
- void ( STDMETHODCALLTYPE *ResolveSubresourceRegion )(
- ID3D12GraphicsCommandList4 * This,
- _In_ ID3D12Resource *pDstResource,
- _In_ UINT DstSubresource,
- _In_ UINT DstX,
- _In_ UINT DstY,
- _In_ ID3D12Resource *pSrcResource,
- _In_ UINT SrcSubresource,
- _In_opt_ D3D12_RECT *pSrcRect,
- _In_ DXGI_FORMAT Format,
- _In_ D3D12_RESOLVE_MODE ResolveMode);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, SetViewInstanceMask)
- void ( STDMETHODCALLTYPE *SetViewInstanceMask )(
- ID3D12GraphicsCommandList4 * This,
- _In_ UINT Mask);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList2, WriteBufferImmediate)
- void ( STDMETHODCALLTYPE *WriteBufferImmediate )(
- ID3D12GraphicsCommandList4 * This,
- UINT Count,
- _In_reads_(Count) const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *pParams,
- _In_reads_opt_(Count) const D3D12_WRITEBUFFERIMMEDIATE_MODE *pModes);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList3, SetProtectedResourceSession)
- void ( STDMETHODCALLTYPE *SetProtectedResourceSession )(
- ID3D12GraphicsCommandList4 * This,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedResourceSession);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, BeginRenderPass)
- void ( STDMETHODCALLTYPE *BeginRenderPass )(
- ID3D12GraphicsCommandList4 * This,
- _In_ UINT NumRenderTargets,
- _In_reads_opt_(NumRenderTargets) const D3D12_RENDER_PASS_RENDER_TARGET_DESC *pRenderTargets,
- _In_opt_ const D3D12_RENDER_PASS_DEPTH_STENCIL_DESC *pDepthStencil,
- D3D12_RENDER_PASS_FLAGS Flags);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, EndRenderPass)
- void ( STDMETHODCALLTYPE *EndRenderPass )(
- ID3D12GraphicsCommandList4 * This);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, InitializeMetaCommand)
- void ( STDMETHODCALLTYPE *InitializeMetaCommand )(
- ID3D12GraphicsCommandList4 * This,
- _In_ ID3D12MetaCommand *pMetaCommand,
- _In_reads_bytes_opt_(InitializationParametersDataSizeInBytes) const void *pInitializationParametersData,
- _In_ SIZE_T InitializationParametersDataSizeInBytes);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, ExecuteMetaCommand)
- void ( STDMETHODCALLTYPE *ExecuteMetaCommand )(
- ID3D12GraphicsCommandList4 * This,
- _In_ ID3D12MetaCommand *pMetaCommand,
- _In_reads_bytes_opt_(ExecutionParametersDataSizeInBytes) const void *pExecutionParametersData,
- _In_ SIZE_T ExecutionParametersDataSizeInBytes);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, BuildRaytracingAccelerationStructure)
- void ( STDMETHODCALLTYPE *BuildRaytracingAccelerationStructure )(
- ID3D12GraphicsCommandList4 * This,
- _In_ const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC *pDesc,
- _In_ UINT NumPostbuildInfoDescs,
- _In_reads_opt_(NumPostbuildInfoDescs) const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC *pPostbuildInfoDescs);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, EmitRaytracingAccelerationStructurePostbuildInfo)
- void ( STDMETHODCALLTYPE *EmitRaytracingAccelerationStructurePostbuildInfo )(
- ID3D12GraphicsCommandList4 * This,
- _In_ const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC *pDesc,
- _In_ UINT NumSourceAccelerationStructures,
- _In_reads_( NumSourceAccelerationStructures ) const D3D12_GPU_VIRTUAL_ADDRESS *pSourceAccelerationStructureData);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, CopyRaytracingAccelerationStructure)
- void ( STDMETHODCALLTYPE *CopyRaytracingAccelerationStructure )(
- ID3D12GraphicsCommandList4 * This,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS DestAccelerationStructureData,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS SourceAccelerationStructureData,
- _In_ D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE Mode);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, SetPipelineState1)
- void ( STDMETHODCALLTYPE *SetPipelineState1 )(
- ID3D12GraphicsCommandList4 * This,
- _In_ ID3D12StateObject *pStateObject);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, DispatchRays)
- void ( STDMETHODCALLTYPE *DispatchRays )(
- ID3D12GraphicsCommandList4 * This,
- _In_ const D3D12_DISPATCH_RAYS_DESC *pDesc);
-
- END_INTERFACE
- } ID3D12GraphicsCommandList4Vtbl;
- interface ID3D12GraphicsCommandList4
- {
- CONST_VTBL struct ID3D12GraphicsCommandList4Vtbl *lpVtbl;
- };
-
- #ifdef COBJMACROS
- #define ID3D12GraphicsCommandList4_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define ID3D12GraphicsCommandList4_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define ID3D12GraphicsCommandList4_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #define ID3D12GraphicsCommandList4_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
- #define ID3D12GraphicsCommandList4_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
- #define ID3D12GraphicsCommandList4_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
- #define ID3D12GraphicsCommandList4_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
- #define ID3D12GraphicsCommandList4_GetDevice(This,riid,ppvDevice) \
- ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
- #define ID3D12GraphicsCommandList4_GetType(This) \
- ( (This)->lpVtbl -> GetType(This) )
- #define ID3D12GraphicsCommandList4_Close(This) \
- ( (This)->lpVtbl -> Close(This) )
- #define ID3D12GraphicsCommandList4_Reset(This,pAllocator,pInitialState) \
- ( (This)->lpVtbl -> Reset(This,pAllocator,pInitialState) )
- #define ID3D12GraphicsCommandList4_ClearState(This,pPipelineState) \
- ( (This)->lpVtbl -> ClearState(This,pPipelineState) )
- #define ID3D12GraphicsCommandList4_DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) \
- ( (This)->lpVtbl -> DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) )
- #define ID3D12GraphicsCommandList4_DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) \
- ( (This)->lpVtbl -> DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) )
- #define ID3D12GraphicsCommandList4_Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) \
- ( (This)->lpVtbl -> Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) )
- #define ID3D12GraphicsCommandList4_CopyBufferRegion(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) \
- ( (This)->lpVtbl -> CopyBufferRegion(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) )
- #define ID3D12GraphicsCommandList4_CopyTextureRegion(This,pDst,DstX,DstY,DstZ,pSrc,pSrcBox) \
- ( (This)->lpVtbl -> CopyTextureRegion(This,pDst,DstX,DstY,DstZ,pSrc,pSrcBox) )
- #define ID3D12GraphicsCommandList4_CopyResource(This,pDstResource,pSrcResource) \
- ( (This)->lpVtbl -> CopyResource(This,pDstResource,pSrcResource) )
- #define ID3D12GraphicsCommandList4_CopyTiles(This,pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) \
- ( (This)->lpVtbl -> CopyTiles(This,pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) )
- #define ID3D12GraphicsCommandList4_ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) \
- ( (This)->lpVtbl -> ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) )
- #define ID3D12GraphicsCommandList4_IASetPrimitiveTopology(This,PrimitiveTopology) \
- ( (This)->lpVtbl -> IASetPrimitiveTopology(This,PrimitiveTopology) )
- #define ID3D12GraphicsCommandList4_RSSetViewports(This,NumViewports,pViewports) \
- ( (This)->lpVtbl -> RSSetViewports(This,NumViewports,pViewports) )
- #define ID3D12GraphicsCommandList4_RSSetScissorRects(This,NumRects,pRects) \
- ( (This)->lpVtbl -> RSSetScissorRects(This,NumRects,pRects) )
- #define ID3D12GraphicsCommandList4_OMSetBlendFactor(This,BlendFactor) \
- ( (This)->lpVtbl -> OMSetBlendFactor(This,BlendFactor) )
- #define ID3D12GraphicsCommandList4_OMSetStencilRef(This,StencilRef) \
- ( (This)->lpVtbl -> OMSetStencilRef(This,StencilRef) )
- #define ID3D12GraphicsCommandList4_SetPipelineState(This,pPipelineState) \
- ( (This)->lpVtbl -> SetPipelineState(This,pPipelineState) )
- #define ID3D12GraphicsCommandList4_ResourceBarrier(This,NumBarriers,pBarriers) \
- ( (This)->lpVtbl -> ResourceBarrier(This,NumBarriers,pBarriers) )
- #define ID3D12GraphicsCommandList4_ExecuteBundle(This,pCommandList) \
- ( (This)->lpVtbl -> ExecuteBundle(This,pCommandList) )
- #define ID3D12GraphicsCommandList4_SetDescriptorHeaps(This,NumDescriptorHeaps,ppDescriptorHeaps) \
- ( (This)->lpVtbl -> SetDescriptorHeaps(This,NumDescriptorHeaps,ppDescriptorHeaps) )
- #define ID3D12GraphicsCommandList4_SetComputeRootSignature(This,pRootSignature) \
- ( (This)->lpVtbl -> SetComputeRootSignature(This,pRootSignature) )
- #define ID3D12GraphicsCommandList4_SetGraphicsRootSignature(This,pRootSignature) \
- ( (This)->lpVtbl -> SetGraphicsRootSignature(This,pRootSignature) )
- #define ID3D12GraphicsCommandList4_SetComputeRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) \
- ( (This)->lpVtbl -> SetComputeRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) )
- #define ID3D12GraphicsCommandList4_SetGraphicsRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) \
- ( (This)->lpVtbl -> SetGraphicsRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) )
- #define ID3D12GraphicsCommandList4_SetComputeRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) \
- ( (This)->lpVtbl -> SetComputeRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) )
- #define ID3D12GraphicsCommandList4_SetGraphicsRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) \
- ( (This)->lpVtbl -> SetGraphicsRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) )
- #define ID3D12GraphicsCommandList4_SetComputeRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) \
- ( (This)->lpVtbl -> SetComputeRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) )
- #define ID3D12GraphicsCommandList4_SetGraphicsRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) \
- ( (This)->lpVtbl -> SetGraphicsRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) )
- #define ID3D12GraphicsCommandList4_SetComputeRootConstantBufferView(This,RootParameterIndex,BufferLocation) \
- ( (This)->lpVtbl -> SetComputeRootConstantBufferView(This,RootParameterIndex,BufferLocation) )
- #define ID3D12GraphicsCommandList4_SetGraphicsRootConstantBufferView(This,RootParameterIndex,BufferLocation) \
- ( (This)->lpVtbl -> SetGraphicsRootConstantBufferView(This,RootParameterIndex,BufferLocation) )
- #define ID3D12GraphicsCommandList4_SetComputeRootShaderResourceView(This,RootParameterIndex,BufferLocation) \
- ( (This)->lpVtbl -> SetComputeRootShaderResourceView(This,RootParameterIndex,BufferLocation) )
- #define ID3D12GraphicsCommandList4_SetGraphicsRootShaderResourceView(This,RootParameterIndex,BufferLocation) \
- ( (This)->lpVtbl -> SetGraphicsRootShaderResourceView(This,RootParameterIndex,BufferLocation) )
- #define ID3D12GraphicsCommandList4_SetComputeRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) \
- ( (This)->lpVtbl -> SetComputeRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) )
- #define ID3D12GraphicsCommandList4_SetGraphicsRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) \
- ( (This)->lpVtbl -> SetGraphicsRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) )
- #define ID3D12GraphicsCommandList4_IASetIndexBuffer(This,pView) \
- ( (This)->lpVtbl -> IASetIndexBuffer(This,pView) )
- #define ID3D12GraphicsCommandList4_IASetVertexBuffers(This,StartSlot,NumViews,pViews) \
- ( (This)->lpVtbl -> IASetVertexBuffers(This,StartSlot,NumViews,pViews) )
- #define ID3D12GraphicsCommandList4_SOSetTargets(This,StartSlot,NumViews,pViews) \
- ( (This)->lpVtbl -> SOSetTargets(This,StartSlot,NumViews,pViews) )
- #define ID3D12GraphicsCommandList4_OMSetRenderTargets(This,NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) \
- ( (This)->lpVtbl -> OMSetRenderTargets(This,NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) )
- #define ID3D12GraphicsCommandList4_ClearDepthStencilView(This,DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) \
- ( (This)->lpVtbl -> ClearDepthStencilView(This,DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) )
- #define ID3D12GraphicsCommandList4_ClearRenderTargetView(This,RenderTargetView,ColorRGBA,NumRects,pRects) \
- ( (This)->lpVtbl -> ClearRenderTargetView(This,RenderTargetView,ColorRGBA,NumRects,pRects) )
- #define ID3D12GraphicsCommandList4_ClearUnorderedAccessViewUint(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) \
- ( (This)->lpVtbl -> ClearUnorderedAccessViewUint(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) )
- #define ID3D12GraphicsCommandList4_ClearUnorderedAccessViewFloat(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) \
- ( (This)->lpVtbl -> ClearUnorderedAccessViewFloat(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) )
- #define ID3D12GraphicsCommandList4_DiscardResource(This,pResource,pRegion) \
- ( (This)->lpVtbl -> DiscardResource(This,pResource,pRegion) )
- #define ID3D12GraphicsCommandList4_BeginQuery(This,pQueryHeap,Type,Index) \
- ( (This)->lpVtbl -> BeginQuery(This,pQueryHeap,Type,Index) )
- #define ID3D12GraphicsCommandList4_EndQuery(This,pQueryHeap,Type,Index) \
- ( (This)->lpVtbl -> EndQuery(This,pQueryHeap,Type,Index) )
- #define ID3D12GraphicsCommandList4_ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) \
- ( (This)->lpVtbl -> ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) )
- #define ID3D12GraphicsCommandList4_SetPredication(This,pBuffer,AlignedBufferOffset,Operation) \
- ( (This)->lpVtbl -> SetPredication(This,pBuffer,AlignedBufferOffset,Operation) )
- #define ID3D12GraphicsCommandList4_SetMarker(This,Metadata,pData,Size) \
- ( (This)->lpVtbl -> SetMarker(This,Metadata,pData,Size) )
- #define ID3D12GraphicsCommandList4_BeginEvent(This,Metadata,pData,Size) \
- ( (This)->lpVtbl -> BeginEvent(This,Metadata,pData,Size) )
- #define ID3D12GraphicsCommandList4_EndEvent(This) \
- ( (This)->lpVtbl -> EndEvent(This) )
- #define ID3D12GraphicsCommandList4_ExecuteIndirect(This,pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) \
- ( (This)->lpVtbl -> ExecuteIndirect(This,pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) )
- #define ID3D12GraphicsCommandList4_AtomicCopyBufferUINT(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) \
- ( (This)->lpVtbl -> AtomicCopyBufferUINT(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) )
- #define ID3D12GraphicsCommandList4_AtomicCopyBufferUINT64(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) \
- ( (This)->lpVtbl -> AtomicCopyBufferUINT64(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) )
- #define ID3D12GraphicsCommandList4_OMSetDepthBounds(This,Min,Max) \
- ( (This)->lpVtbl -> OMSetDepthBounds(This,Min,Max) )
- #define ID3D12GraphicsCommandList4_SetSamplePositions(This,NumSamplesPerPixel,NumPixels,pSamplePositions) \
- ( (This)->lpVtbl -> SetSamplePositions(This,NumSamplesPerPixel,NumPixels,pSamplePositions) )
- #define ID3D12GraphicsCommandList4_ResolveSubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode) \
- ( (This)->lpVtbl -> ResolveSubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode) )
- #define ID3D12GraphicsCommandList4_SetViewInstanceMask(This,Mask) \
- ( (This)->lpVtbl -> SetViewInstanceMask(This,Mask) )
- #define ID3D12GraphicsCommandList4_WriteBufferImmediate(This,Count,pParams,pModes) \
- ( (This)->lpVtbl -> WriteBufferImmediate(This,Count,pParams,pModes) )
- #define ID3D12GraphicsCommandList4_SetProtectedResourceSession(This,pProtectedResourceSession) \
- ( (This)->lpVtbl -> SetProtectedResourceSession(This,pProtectedResourceSession) )
- #define ID3D12GraphicsCommandList4_BeginRenderPass(This,NumRenderTargets,pRenderTargets,pDepthStencil,Flags) \
- ( (This)->lpVtbl -> BeginRenderPass(This,NumRenderTargets,pRenderTargets,pDepthStencil,Flags) )
- #define ID3D12GraphicsCommandList4_EndRenderPass(This) \
- ( (This)->lpVtbl -> EndRenderPass(This) )
- #define ID3D12GraphicsCommandList4_InitializeMetaCommand(This,pMetaCommand,pInitializationParametersData,InitializationParametersDataSizeInBytes) \
- ( (This)->lpVtbl -> InitializeMetaCommand(This,pMetaCommand,pInitializationParametersData,InitializationParametersDataSizeInBytes) )
- #define ID3D12GraphicsCommandList4_ExecuteMetaCommand(This,pMetaCommand,pExecutionParametersData,ExecutionParametersDataSizeInBytes) \
- ( (This)->lpVtbl -> ExecuteMetaCommand(This,pMetaCommand,pExecutionParametersData,ExecutionParametersDataSizeInBytes) )
- #define ID3D12GraphicsCommandList4_BuildRaytracingAccelerationStructure(This,pDesc,NumPostbuildInfoDescs,pPostbuildInfoDescs) \
- ( (This)->lpVtbl -> BuildRaytracingAccelerationStructure(This,pDesc,NumPostbuildInfoDescs,pPostbuildInfoDescs) )
- #define ID3D12GraphicsCommandList4_EmitRaytracingAccelerationStructurePostbuildInfo(This,pDesc,NumSourceAccelerationStructures,pSourceAccelerationStructureData) \
- ( (This)->lpVtbl -> EmitRaytracingAccelerationStructurePostbuildInfo(This,pDesc,NumSourceAccelerationStructures,pSourceAccelerationStructureData) )
- #define ID3D12GraphicsCommandList4_CopyRaytracingAccelerationStructure(This,DestAccelerationStructureData,SourceAccelerationStructureData,Mode) \
- ( (This)->lpVtbl -> CopyRaytracingAccelerationStructure(This,DestAccelerationStructureData,SourceAccelerationStructureData,Mode) )
- #define ID3D12GraphicsCommandList4_SetPipelineState1(This,pStateObject) \
- ( (This)->lpVtbl -> SetPipelineState1(This,pStateObject) )
- #define ID3D12GraphicsCommandList4_DispatchRays(This,pDesc) \
- ( (This)->lpVtbl -> DispatchRays(This,pDesc) )
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __ID3D12GraphicsCommandList4_INTERFACE_DEFINED__ */
- /* interface __MIDL_itf_d3d12_0000_0051 */
- /* [local] */
- typedef
- enum D3D12_SHADER_CACHE_MODE
- {
- D3D12_SHADER_CACHE_MODE_MEMORY = 0,
- D3D12_SHADER_CACHE_MODE_DISK = ( D3D12_SHADER_CACHE_MODE_MEMORY + 1 )
- } D3D12_SHADER_CACHE_MODE;
- typedef
- enum D3D12_SHADER_CACHE_FLAGS
- {
- D3D12_SHADER_CACHE_FLAG_NONE = 0,
- D3D12_SHADER_CACHE_FLAG_DRIVER_VERSIONED = 0x1,
- D3D12_SHADER_CACHE_FLAG_USE_WORKING_DIR = 0x2
- } D3D12_SHADER_CACHE_FLAGS;
- DEFINE_ENUM_FLAG_OPERATORS( D3D12_SHADER_CACHE_FLAGS );
- typedef struct D3D12_SHADER_CACHE_SESSION_DESC
- {
- GUID Identifier;
- D3D12_SHADER_CACHE_MODE Mode;
- D3D12_SHADER_CACHE_FLAGS Flags;
- UINT MaximumInMemoryCacheSizeBytes;
- UINT MaximumInMemoryCacheEntries;
- UINT MaximumValueFileSizeBytes;
- UINT64 Version;
- } D3D12_SHADER_CACHE_SESSION_DESC;
- typedef
- enum D3D12_BARRIER_LAYOUT
- {
- D3D12_BARRIER_LAYOUT_UNDEFINED = 0xffffffff,
- D3D12_BARRIER_LAYOUT_COMMON = 0,
- D3D12_BARRIER_LAYOUT_PRESENT = 0,
- D3D12_BARRIER_LAYOUT_GENERIC_READ = ( D3D12_BARRIER_LAYOUT_PRESENT + 1 ) ,
- D3D12_BARRIER_LAYOUT_RENDER_TARGET = ( D3D12_BARRIER_LAYOUT_GENERIC_READ + 1 ) ,
- D3D12_BARRIER_LAYOUT_UNORDERED_ACCESS = ( D3D12_BARRIER_LAYOUT_RENDER_TARGET + 1 ) ,
- D3D12_BARRIER_LAYOUT_DEPTH_STENCIL_WRITE = ( D3D12_BARRIER_LAYOUT_UNORDERED_ACCESS + 1 ) ,
- D3D12_BARRIER_LAYOUT_DEPTH_STENCIL_READ = ( D3D12_BARRIER_LAYOUT_DEPTH_STENCIL_WRITE + 1 ) ,
- D3D12_BARRIER_LAYOUT_SHADER_RESOURCE = ( D3D12_BARRIER_LAYOUT_DEPTH_STENCIL_READ + 1 ) ,
- D3D12_BARRIER_LAYOUT_COPY_SOURCE = ( D3D12_BARRIER_LAYOUT_SHADER_RESOURCE + 1 ) ,
- D3D12_BARRIER_LAYOUT_COPY_DEST = ( D3D12_BARRIER_LAYOUT_COPY_SOURCE + 1 ) ,
- D3D12_BARRIER_LAYOUT_RESOLVE_SOURCE = ( D3D12_BARRIER_LAYOUT_COPY_DEST + 1 ) ,
- D3D12_BARRIER_LAYOUT_RESOLVE_DEST = ( D3D12_BARRIER_LAYOUT_RESOLVE_SOURCE + 1 ) ,
- D3D12_BARRIER_LAYOUT_SHADING_RATE_SOURCE = ( D3D12_BARRIER_LAYOUT_RESOLVE_DEST + 1 ) ,
- D3D12_BARRIER_LAYOUT_VIDEO_DECODE_READ = ( D3D12_BARRIER_LAYOUT_SHADING_RATE_SOURCE + 1 ) ,
- D3D12_BARRIER_LAYOUT_VIDEO_DECODE_WRITE = ( D3D12_BARRIER_LAYOUT_VIDEO_DECODE_READ + 1 ) ,
- D3D12_BARRIER_LAYOUT_VIDEO_PROCESS_READ = ( D3D12_BARRIER_LAYOUT_VIDEO_DECODE_WRITE + 1 ) ,
- D3D12_BARRIER_LAYOUT_VIDEO_PROCESS_WRITE = ( D3D12_BARRIER_LAYOUT_VIDEO_PROCESS_READ + 1 ) ,
- D3D12_BARRIER_LAYOUT_VIDEO_ENCODE_READ = ( D3D12_BARRIER_LAYOUT_VIDEO_PROCESS_WRITE + 1 ) ,
- D3D12_BARRIER_LAYOUT_VIDEO_ENCODE_WRITE = ( D3D12_BARRIER_LAYOUT_VIDEO_ENCODE_READ + 1 ) ,
- D3D12_BARRIER_LAYOUT_DIRECT_QUEUE_COMMON = ( D3D12_BARRIER_LAYOUT_VIDEO_ENCODE_WRITE + 1 ) ,
- D3D12_BARRIER_LAYOUT_DIRECT_QUEUE_GENERIC_READ = ( D3D12_BARRIER_LAYOUT_DIRECT_QUEUE_COMMON + 1 ) ,
- D3D12_BARRIER_LAYOUT_DIRECT_QUEUE_UNORDERED_ACCESS = ( D3D12_BARRIER_LAYOUT_DIRECT_QUEUE_GENERIC_READ + 1 ) ,
- D3D12_BARRIER_LAYOUT_DIRECT_QUEUE_SHADER_RESOURCE = ( D3D12_BARRIER_LAYOUT_DIRECT_QUEUE_UNORDERED_ACCESS + 1 ) ,
- D3D12_BARRIER_LAYOUT_DIRECT_QUEUE_COPY_SOURCE = ( D3D12_BARRIER_LAYOUT_DIRECT_QUEUE_SHADER_RESOURCE + 1 ) ,
- D3D12_BARRIER_LAYOUT_DIRECT_QUEUE_COPY_DEST = ( D3D12_BARRIER_LAYOUT_DIRECT_QUEUE_COPY_SOURCE + 1 ) ,
- D3D12_BARRIER_LAYOUT_COMPUTE_QUEUE_COMMON = ( D3D12_BARRIER_LAYOUT_DIRECT_QUEUE_COPY_DEST + 1 ) ,
- D3D12_BARRIER_LAYOUT_COMPUTE_QUEUE_GENERIC_READ = ( D3D12_BARRIER_LAYOUT_COMPUTE_QUEUE_COMMON + 1 ) ,
- D3D12_BARRIER_LAYOUT_COMPUTE_QUEUE_UNORDERED_ACCESS = ( D3D12_BARRIER_LAYOUT_COMPUTE_QUEUE_GENERIC_READ + 1 ) ,
- D3D12_BARRIER_LAYOUT_COMPUTE_QUEUE_SHADER_RESOURCE = ( D3D12_BARRIER_LAYOUT_COMPUTE_QUEUE_UNORDERED_ACCESS + 1 ) ,
- D3D12_BARRIER_LAYOUT_COMPUTE_QUEUE_COPY_SOURCE = ( D3D12_BARRIER_LAYOUT_COMPUTE_QUEUE_SHADER_RESOURCE + 1 ) ,
- D3D12_BARRIER_LAYOUT_COMPUTE_QUEUE_COPY_DEST = ( D3D12_BARRIER_LAYOUT_COMPUTE_QUEUE_COPY_SOURCE + 1 ) ,
- D3D12_BARRIER_LAYOUT_VIDEO_QUEUE_COMMON = ( D3D12_BARRIER_LAYOUT_COMPUTE_QUEUE_COPY_DEST + 1 )
- } D3D12_BARRIER_LAYOUT;
- typedef
- enum D3D12_BARRIER_SYNC
- {
- D3D12_BARRIER_SYNC_NONE = 0,
- D3D12_BARRIER_SYNC_ALL = 0x1,
- D3D12_BARRIER_SYNC_DRAW = 0x2,
- D3D12_BARRIER_SYNC_INDEX_INPUT = 0x4,
- D3D12_BARRIER_SYNC_VERTEX_SHADING = 0x8,
- D3D12_BARRIER_SYNC_PIXEL_SHADING = 0x10,
- D3D12_BARRIER_SYNC_DEPTH_STENCIL = 0x20,
- D3D12_BARRIER_SYNC_RENDER_TARGET = 0x40,
- D3D12_BARRIER_SYNC_COMPUTE_SHADING = 0x80,
- D3D12_BARRIER_SYNC_RAYTRACING = 0x100,
- D3D12_BARRIER_SYNC_COPY = 0x200,
- D3D12_BARRIER_SYNC_RESOLVE = 0x400,
- D3D12_BARRIER_SYNC_EXECUTE_INDIRECT = 0x800,
- D3D12_BARRIER_SYNC_PREDICATION = 0x800,
- D3D12_BARRIER_SYNC_ALL_SHADING = 0x1000,
- D3D12_BARRIER_SYNC_NON_PIXEL_SHADING = 0x2000,
- D3D12_BARRIER_SYNC_EMIT_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO = 0x4000,
- D3D12_BARRIER_SYNC_CLEAR_UNORDERED_ACCESS_VIEW = 0x8000,
- D3D12_BARRIER_SYNC_VIDEO_DECODE = 0x100000,
- D3D12_BARRIER_SYNC_VIDEO_PROCESS = 0x200000,
- D3D12_BARRIER_SYNC_VIDEO_ENCODE = 0x400000,
- D3D12_BARRIER_SYNC_BUILD_RAYTRACING_ACCELERATION_STRUCTURE = 0x800000,
- D3D12_BARRIER_SYNC_COPY_RAYTRACING_ACCELERATION_STRUCTURE = 0x1000000,
- D3D12_BARRIER_SYNC_SPLIT = 0x80000000
- } D3D12_BARRIER_SYNC;
- DEFINE_ENUM_FLAG_OPERATORS( D3D12_BARRIER_SYNC );
- typedef
- enum D3D12_BARRIER_ACCESS
- {
- D3D12_BARRIER_ACCESS_COMMON = 0,
- D3D12_BARRIER_ACCESS_VERTEX_BUFFER = 0x1,
- D3D12_BARRIER_ACCESS_CONSTANT_BUFFER = 0x2,
- D3D12_BARRIER_ACCESS_INDEX_BUFFER = 0x4,
- D3D12_BARRIER_ACCESS_RENDER_TARGET = 0x8,
- D3D12_BARRIER_ACCESS_UNORDERED_ACCESS = 0x10,
- D3D12_BARRIER_ACCESS_DEPTH_STENCIL_WRITE = 0x20,
- D3D12_BARRIER_ACCESS_DEPTH_STENCIL_READ = 0x40,
- D3D12_BARRIER_ACCESS_SHADER_RESOURCE = 0x80,
- D3D12_BARRIER_ACCESS_STREAM_OUTPUT = 0x100,
- D3D12_BARRIER_ACCESS_INDIRECT_ARGUMENT = 0x200,
- D3D12_BARRIER_ACCESS_PREDICATION = 0x200,
- D3D12_BARRIER_ACCESS_COPY_DEST = 0x400,
- D3D12_BARRIER_ACCESS_COPY_SOURCE = 0x800,
- D3D12_BARRIER_ACCESS_RESOLVE_DEST = 0x1000,
- D3D12_BARRIER_ACCESS_RESOLVE_SOURCE = 0x2000,
- D3D12_BARRIER_ACCESS_RAYTRACING_ACCELERATION_STRUCTURE_READ = 0x4000,
- D3D12_BARRIER_ACCESS_RAYTRACING_ACCELERATION_STRUCTURE_WRITE = 0x8000,
- D3D12_BARRIER_ACCESS_SHADING_RATE_SOURCE = 0x10000,
- D3D12_BARRIER_ACCESS_VIDEO_DECODE_READ = 0x20000,
- D3D12_BARRIER_ACCESS_VIDEO_DECODE_WRITE = 0x40000,
- D3D12_BARRIER_ACCESS_VIDEO_PROCESS_READ = 0x80000,
- D3D12_BARRIER_ACCESS_VIDEO_PROCESS_WRITE = 0x100000,
- D3D12_BARRIER_ACCESS_VIDEO_ENCODE_READ = 0x200000,
- D3D12_BARRIER_ACCESS_VIDEO_ENCODE_WRITE = 0x400000,
- D3D12_BARRIER_ACCESS_NO_ACCESS = 0x80000000
- } D3D12_BARRIER_ACCESS;
- DEFINE_ENUM_FLAG_OPERATORS( D3D12_BARRIER_ACCESS );
- typedef
- enum D3D12_BARRIER_TYPE
- {
- D3D12_BARRIER_TYPE_GLOBAL = 0,
- D3D12_BARRIER_TYPE_TEXTURE = ( D3D12_BARRIER_TYPE_GLOBAL + 1 ) ,
- D3D12_BARRIER_TYPE_BUFFER = ( D3D12_BARRIER_TYPE_TEXTURE + 1 )
- } D3D12_BARRIER_TYPE;
- typedef
- enum D3D12_TEXTURE_BARRIER_FLAGS
- {
- D3D12_TEXTURE_BARRIER_FLAG_NONE = 0,
- D3D12_TEXTURE_BARRIER_FLAG_DISCARD = 0x1
- } D3D12_TEXTURE_BARRIER_FLAGS;
- DEFINE_ENUM_FLAG_OPERATORS( D3D12_TEXTURE_BARRIER_FLAGS );
- typedef struct D3D12_BARRIER_SUBRESOURCE_RANGE
- {
- UINT IndexOrFirstMipLevel;
- UINT NumMipLevels;
- UINT FirstArraySlice;
- UINT NumArraySlices;
- UINT FirstPlane;
- UINT NumPlanes;
- } D3D12_BARRIER_SUBRESOURCE_RANGE;
- typedef struct D3D12_GLOBAL_BARRIER
- {
- D3D12_BARRIER_SYNC SyncBefore;
- D3D12_BARRIER_SYNC SyncAfter;
- D3D12_BARRIER_ACCESS AccessBefore;
- D3D12_BARRIER_ACCESS AccessAfter;
- } D3D12_GLOBAL_BARRIER;
- typedef struct D3D12_TEXTURE_BARRIER
- {
- D3D12_BARRIER_SYNC SyncBefore;
- D3D12_BARRIER_SYNC SyncAfter;
- D3D12_BARRIER_ACCESS AccessBefore;
- D3D12_BARRIER_ACCESS AccessAfter;
- D3D12_BARRIER_LAYOUT LayoutBefore;
- D3D12_BARRIER_LAYOUT LayoutAfter;
- _In_ ID3D12Resource *pResource;
- D3D12_BARRIER_SUBRESOURCE_RANGE Subresources;
- D3D12_TEXTURE_BARRIER_FLAGS Flags;
- } D3D12_TEXTURE_BARRIER;
- typedef struct D3D12_BUFFER_BARRIER
- {
- D3D12_BARRIER_SYNC SyncBefore;
- D3D12_BARRIER_SYNC SyncAfter;
- D3D12_BARRIER_ACCESS AccessBefore;
- D3D12_BARRIER_ACCESS AccessAfter;
- _In_ ID3D12Resource *pResource;
- UINT64 Offset;
- UINT64 Size;
- } D3D12_BUFFER_BARRIER;
- typedef struct D3D12_BARRIER_GROUP
- {
- D3D12_BARRIER_TYPE Type;
- UINT32 NumBarriers;
- union
- {
- _In_reads_(NumBarriers) const D3D12_GLOBAL_BARRIER *pGlobalBarriers;
- _In_reads_(NumBarriers) const D3D12_TEXTURE_BARRIER *pTextureBarriers;
- _In_reads_(NumBarriers) const D3D12_BUFFER_BARRIER *pBufferBarriers;
- } ;
- } D3D12_BARRIER_GROUP;
- extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0051_v0_0_c_ifspec;
- extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0051_v0_0_s_ifspec;
- #ifndef __ID3D12ShaderCacheSession_INTERFACE_DEFINED__
- #define __ID3D12ShaderCacheSession_INTERFACE_DEFINED__
- /* interface ID3D12ShaderCacheSession */
- /* [unique][local][object][uuid] */
- EXTERN_C const IID IID_ID3D12ShaderCacheSession;
- #if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("28e2495d-0f64-4ae4-a6ec-129255dc49a8")
- ID3D12ShaderCacheSession : public ID3D12DeviceChild
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE FindValue(
- /* [annotation][in] */
- _In_reads_bytes_(KeySize) const void *pKey,
- UINT KeySize,
- /* [annotation][out] */
- _Out_writes_bytes_(*pValueSize) void *pValue,
- _Inout_ UINT *pValueSize) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE StoreValue(
- /* [annotation][in] */
- _In_reads_bytes_(KeySize) const void *pKey,
- UINT KeySize,
- /* [annotation][in] */
- _In_reads_bytes_(ValueSize) const void *pValue,
- UINT ValueSize) = 0;
-
- virtual void STDMETHODCALLTYPE SetDeleteOnDestroy( void) = 0;
-
- #if defined(_MSC_VER) || !defined(_WIN32)
- virtual D3D12_SHADER_CACHE_SESSION_DESC STDMETHODCALLTYPE GetDesc( void) = 0;
- #else
- virtual D3D12_SHADER_CACHE_SESSION_DESC *STDMETHODCALLTYPE GetDesc(
- D3D12_SHADER_CACHE_SESSION_DESC * RetVal) = 0;
- #endif
-
- };
-
-
- #else /* C style interface */
- typedef struct ID3D12ShaderCacheSessionVtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12ShaderCacheSession * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12ShaderCacheSession * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12ShaderCacheSession * This);
-
- DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12ShaderCacheSession * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12ShaderCacheSession * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12ShaderCacheSession * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetName)
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12ShaderCacheSession * This,
- _In_z_ LPCWSTR Name);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice)
- HRESULT ( STDMETHODCALLTYPE *GetDevice )(
- ID3D12ShaderCacheSession * This,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvDevice);
-
- DECLSPEC_XFGVIRT(ID3D12ShaderCacheSession, FindValue)
- HRESULT ( STDMETHODCALLTYPE *FindValue )(
- ID3D12ShaderCacheSession * This,
- /* [annotation][in] */
- _In_reads_bytes_(KeySize) const void *pKey,
- UINT KeySize,
- /* [annotation][out] */
- _Out_writes_bytes_(*pValueSize) void *pValue,
- _Inout_ UINT *pValueSize);
-
- DECLSPEC_XFGVIRT(ID3D12ShaderCacheSession, StoreValue)
- HRESULT ( STDMETHODCALLTYPE *StoreValue )(
- ID3D12ShaderCacheSession * This,
- /* [annotation][in] */
- _In_reads_bytes_(KeySize) const void *pKey,
- UINT KeySize,
- /* [annotation][in] */
- _In_reads_bytes_(ValueSize) const void *pValue,
- UINT ValueSize);
-
- DECLSPEC_XFGVIRT(ID3D12ShaderCacheSession, SetDeleteOnDestroy)
- void ( STDMETHODCALLTYPE *SetDeleteOnDestroy )(
- ID3D12ShaderCacheSession * This);
-
- DECLSPEC_XFGVIRT(ID3D12ShaderCacheSession, GetDesc)
- #if !defined(_WIN32)
- D3D12_SHADER_CACHE_SESSION_DESC ( STDMETHODCALLTYPE *GetDesc )(
- ID3D12ShaderCacheSession * This);
-
- #else
- D3D12_SHADER_CACHE_SESSION_DESC *( STDMETHODCALLTYPE *GetDesc )(
- ID3D12ShaderCacheSession * This,
- D3D12_SHADER_CACHE_SESSION_DESC * RetVal);
-
- #endif
-
- END_INTERFACE
- } ID3D12ShaderCacheSessionVtbl;
- interface ID3D12ShaderCacheSession
- {
- CONST_VTBL struct ID3D12ShaderCacheSessionVtbl *lpVtbl;
- };
-
- #ifdef COBJMACROS
- #define ID3D12ShaderCacheSession_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define ID3D12ShaderCacheSession_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define ID3D12ShaderCacheSession_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #define ID3D12ShaderCacheSession_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
- #define ID3D12ShaderCacheSession_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
- #define ID3D12ShaderCacheSession_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
- #define ID3D12ShaderCacheSession_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
- #define ID3D12ShaderCacheSession_GetDevice(This,riid,ppvDevice) \
- ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
- #define ID3D12ShaderCacheSession_FindValue(This,pKey,KeySize,pValue,pValueSize) \
- ( (This)->lpVtbl -> FindValue(This,pKey,KeySize,pValue,pValueSize) )
- #define ID3D12ShaderCacheSession_StoreValue(This,pKey,KeySize,pValue,ValueSize) \
- ( (This)->lpVtbl -> StoreValue(This,pKey,KeySize,pValue,ValueSize) )
- #define ID3D12ShaderCacheSession_SetDeleteOnDestroy(This) \
- ( (This)->lpVtbl -> SetDeleteOnDestroy(This) )
- #if !defined(_WIN32)
- #define ID3D12ShaderCacheSession_GetDesc(This) \
- ( (This)->lpVtbl -> GetDesc(This) )
- #else
- #define ID3D12ShaderCacheSession_GetDesc(This,RetVal) \
- ( (This)->lpVtbl -> GetDesc(This,RetVal) )
- #endif
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __ID3D12ShaderCacheSession_INTERFACE_DEFINED__ */
- /* interface __MIDL_itf_d3d12_0000_0052 */
- /* [local] */
- typedef
- enum D3D12_SHADER_CACHE_KIND_FLAGS
- {
- D3D12_SHADER_CACHE_KIND_FLAG_IMPLICIT_D3D_CACHE_FOR_DRIVER = 0x1,
- D3D12_SHADER_CACHE_KIND_FLAG_IMPLICIT_D3D_CONVERSIONS = 0x2,
- D3D12_SHADER_CACHE_KIND_FLAG_IMPLICIT_DRIVER_MANAGED = 0x4,
- D3D12_SHADER_CACHE_KIND_FLAG_APPLICATION_MANAGED = 0x8
- } D3D12_SHADER_CACHE_KIND_FLAGS;
- DEFINE_ENUM_FLAG_OPERATORS( D3D12_SHADER_CACHE_KIND_FLAGS );
- typedef
- enum D3D12_SHADER_CACHE_CONTROL_FLAGS
- {
- D3D12_SHADER_CACHE_CONTROL_FLAG_DISABLE = 0x1,
- D3D12_SHADER_CACHE_CONTROL_FLAG_ENABLE = 0x2,
- D3D12_SHADER_CACHE_CONTROL_FLAG_CLEAR = 0x4
- } D3D12_SHADER_CACHE_CONTROL_FLAGS;
- DEFINE_ENUM_FLAG_OPERATORS( D3D12_SHADER_CACHE_CONTROL_FLAGS );
- extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0052_v0_0_c_ifspec;
- extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0052_v0_0_s_ifspec;
- #ifndef __ID3D12Device9_INTERFACE_DEFINED__
- #define __ID3D12Device9_INTERFACE_DEFINED__
- /* interface ID3D12Device9 */
- /* [unique][local][object][uuid] */
- EXTERN_C const IID IID_ID3D12Device9;
- #if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("4c80e962-f032-4f60-bc9e-ebc2cfa1d83c")
- ID3D12Device9 : public ID3D12Device8
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE CreateShaderCacheSession(
- _In_ const D3D12_SHADER_CACHE_SESSION_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvSession) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE ShaderCacheControl(
- D3D12_SHADER_CACHE_KIND_FLAGS Kinds,
- D3D12_SHADER_CACHE_CONTROL_FLAGS Control) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE CreateCommandQueue1(
- _In_ const D3D12_COMMAND_QUEUE_DESC *pDesc,
- REFIID CreatorID,
- REFIID riid,
- _COM_Outptr_ void **ppCommandQueue) = 0;
-
- };
-
-
- #else /* C style interface */
- typedef struct ID3D12Device9Vtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12Device9 * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12Device9 * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12Device9 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12Device9 * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12Device9 * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12Device9 * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetName)
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12Device9 * This,
- _In_z_ LPCWSTR Name);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetNodeCount)
- UINT ( STDMETHODCALLTYPE *GetNodeCount )(
- ID3D12Device9 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandQueue)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandQueue )(
- ID3D12Device9 * This,
- _In_ const D3D12_COMMAND_QUEUE_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppCommandQueue);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandAllocator)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandAllocator )(
- ID3D12Device9 * This,
- _In_ D3D12_COMMAND_LIST_TYPE type,
- REFIID riid,
- _COM_Outptr_ void **ppCommandAllocator);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateGraphicsPipelineState)
- HRESULT ( STDMETHODCALLTYPE *CreateGraphicsPipelineState )(
- ID3D12Device9 * This,
- _In_ const D3D12_GRAPHICS_PIPELINE_STATE_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineState);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateComputePipelineState)
- HRESULT ( STDMETHODCALLTYPE *CreateComputePipelineState )(
- ID3D12Device9 * This,
- _In_ const D3D12_COMPUTE_PIPELINE_STATE_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineState);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandList)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandList )(
- ID3D12Device9 * This,
- _In_ UINT nodeMask,
- _In_ D3D12_COMMAND_LIST_TYPE type,
- _In_ ID3D12CommandAllocator *pCommandAllocator,
- _In_opt_ ID3D12PipelineState *pInitialState,
- REFIID riid,
- _COM_Outptr_ void **ppCommandList);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CheckFeatureSupport)
- HRESULT ( STDMETHODCALLTYPE *CheckFeatureSupport )(
- ID3D12Device9 * This,
- D3D12_FEATURE Feature,
- _Inout_updates_bytes_(FeatureSupportDataSize) void *pFeatureSupportData,
- UINT FeatureSupportDataSize);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateDescriptorHeap)
- HRESULT ( STDMETHODCALLTYPE *CreateDescriptorHeap )(
- ID3D12Device9 * This,
- _In_ const D3D12_DESCRIPTOR_HEAP_DESC *pDescriptorHeapDesc,
- REFIID riid,
- _COM_Outptr_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetDescriptorHandleIncrementSize)
- UINT ( STDMETHODCALLTYPE *GetDescriptorHandleIncrementSize )(
- ID3D12Device9 * This,
- _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapType);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateRootSignature)
- HRESULT ( STDMETHODCALLTYPE *CreateRootSignature )(
- ID3D12Device9 * This,
- _In_ UINT nodeMask,
- _In_reads_(blobLengthInBytes) const void *pBlobWithRootSignature,
- _In_ SIZE_T blobLengthInBytes,
- REFIID riid,
- _COM_Outptr_ void **ppvRootSignature);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateConstantBufferView)
- void ( STDMETHODCALLTYPE *CreateConstantBufferView )(
- ID3D12Device9 * This,
- _In_opt_ const D3D12_CONSTANT_BUFFER_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateShaderResourceView)
- void ( STDMETHODCALLTYPE *CreateShaderResourceView )(
- ID3D12Device9 * This,
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_SHADER_RESOURCE_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateUnorderedAccessView)
- void ( STDMETHODCALLTYPE *CreateUnorderedAccessView )(
- ID3D12Device9 * This,
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ ID3D12Resource *pCounterResource,
- _In_opt_ const D3D12_UNORDERED_ACCESS_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateRenderTargetView)
- void ( STDMETHODCALLTYPE *CreateRenderTargetView )(
- ID3D12Device9 * This,
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_RENDER_TARGET_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateDepthStencilView)
- void ( STDMETHODCALLTYPE *CreateDepthStencilView )(
- ID3D12Device9 * This,
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_DEPTH_STENCIL_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateSampler)
- void ( STDMETHODCALLTYPE *CreateSampler )(
- ID3D12Device9 * This,
- _In_ const D3D12_SAMPLER_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CopyDescriptors)
- void ( STDMETHODCALLTYPE *CopyDescriptors )(
- ID3D12Device9 * This,
- _In_ UINT NumDestDescriptorRanges,
- _In_reads_(NumDestDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pDestDescriptorRangeStarts,
- _In_reads_opt_(NumDestDescriptorRanges) const UINT *pDestDescriptorRangeSizes,
- _In_ UINT NumSrcDescriptorRanges,
- _In_reads_(NumSrcDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pSrcDescriptorRangeStarts,
- _In_reads_opt_(NumSrcDescriptorRanges) const UINT *pSrcDescriptorRangeSizes,
- _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CopyDescriptorsSimple)
- void ( STDMETHODCALLTYPE *CopyDescriptorsSimple )(
- ID3D12Device9 * This,
- _In_ UINT NumDescriptors,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptorRangeStart,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE SrcDescriptorRangeStart,
- _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetResourceAllocationInfo)
- #if !defined(_WIN32)
- D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo )(
- ID3D12Device9 * This,
- _In_ UINT visibleMask,
- _In_ UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs);
-
- #else
- D3D12_RESOURCE_ALLOCATION_INFO *( STDMETHODCALLTYPE *GetResourceAllocationInfo )(
- ID3D12Device9 * This,
- D3D12_RESOURCE_ALLOCATION_INFO * RetVal,
- _In_ UINT visibleMask,
- _In_ UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs);
-
- #endif
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetCustomHeapProperties)
- #if !defined(_WIN32)
- D3D12_HEAP_PROPERTIES ( STDMETHODCALLTYPE *GetCustomHeapProperties )(
- ID3D12Device9 * This,
- _In_ UINT nodeMask,
- D3D12_HEAP_TYPE heapType);
-
- #else
- D3D12_HEAP_PROPERTIES *( STDMETHODCALLTYPE *GetCustomHeapProperties )(
- ID3D12Device9 * This,
- D3D12_HEAP_PROPERTIES * RetVal,
- _In_ UINT nodeMask,
- D3D12_HEAP_TYPE heapType);
-
- #endif
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommittedResource)
- HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource )(
- ID3D12Device9 * This,
- _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties,
- D3D12_HEAP_FLAGS HeapFlags,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialResourceState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- REFIID riidResource,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateHeap)
- HRESULT ( STDMETHODCALLTYPE *CreateHeap )(
- ID3D12Device9 * This,
- _In_ const D3D12_HEAP_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreatePlacedResource)
- HRESULT ( STDMETHODCALLTYPE *CreatePlacedResource )(
- ID3D12Device9 * This,
- _In_ ID3D12Heap *pHeap,
- UINT64 HeapOffset,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateReservedResource)
- HRESULT ( STDMETHODCALLTYPE *CreateReservedResource )(
- ID3D12Device9 * This,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateSharedHandle)
- HRESULT ( STDMETHODCALLTYPE *CreateSharedHandle )(
- ID3D12Device9 * This,
- _In_ ID3D12DeviceChild *pObject,
- _In_opt_ const SECURITY_ATTRIBUTES *pAttributes,
- DWORD Access,
- _In_opt_ LPCWSTR Name,
- _Out_ HANDLE *pHandle);
-
- DECLSPEC_XFGVIRT(ID3D12Device, OpenSharedHandle)
- HRESULT ( STDMETHODCALLTYPE *OpenSharedHandle )(
- ID3D12Device9 * This,
- _In_ HANDLE NTHandle,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvObj);
-
- DECLSPEC_XFGVIRT(ID3D12Device, OpenSharedHandleByName)
- HRESULT ( STDMETHODCALLTYPE *OpenSharedHandleByName )(
- ID3D12Device9 * This,
- _In_ LPCWSTR Name,
- DWORD Access,
- /* [annotation][out] */
- _Out_ HANDLE *pNTHandle);
-
- DECLSPEC_XFGVIRT(ID3D12Device, MakeResident)
- HRESULT ( STDMETHODCALLTYPE *MakeResident )(
- ID3D12Device9 * This,
- UINT NumObjects,
- _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects);
-
- DECLSPEC_XFGVIRT(ID3D12Device, Evict)
- HRESULT ( STDMETHODCALLTYPE *Evict )(
- ID3D12Device9 * This,
- UINT NumObjects,
- _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateFence)
- HRESULT ( STDMETHODCALLTYPE *CreateFence )(
- ID3D12Device9 * This,
- UINT64 InitialValue,
- D3D12_FENCE_FLAGS Flags,
- REFIID riid,
- _COM_Outptr_ void **ppFence);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetDeviceRemovedReason)
- HRESULT ( STDMETHODCALLTYPE *GetDeviceRemovedReason )(
- ID3D12Device9 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetCopyableFootprints)
- void ( STDMETHODCALLTYPE *GetCopyableFootprints )(
- ID3D12Device9 * This,
- _In_ const D3D12_RESOURCE_DESC *pResourceDesc,
- _In_range_(0,D3D12_REQ_SUBRESOURCES) UINT FirstSubresource,
- _In_range_(0,D3D12_REQ_SUBRESOURCES-FirstSubresource) UINT NumSubresources,
- UINT64 BaseOffset,
- _Out_writes_opt_(NumSubresources) D3D12_PLACED_SUBRESOURCE_FOOTPRINT *pLayouts,
- _Out_writes_opt_(NumSubresources) UINT *pNumRows,
- _Out_writes_opt_(NumSubresources) UINT64 *pRowSizeInBytes,
- _Out_opt_ UINT64 *pTotalBytes);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateQueryHeap)
- HRESULT ( STDMETHODCALLTYPE *CreateQueryHeap )(
- ID3D12Device9 * This,
- _In_ const D3D12_QUERY_HEAP_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device, SetStablePowerState)
- HRESULT ( STDMETHODCALLTYPE *SetStablePowerState )(
- ID3D12Device9 * This,
- BOOL Enable);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandSignature)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandSignature )(
- ID3D12Device9 * This,
- _In_ const D3D12_COMMAND_SIGNATURE_DESC *pDesc,
- _In_opt_ ID3D12RootSignature *pRootSignature,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvCommandSignature);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetResourceTiling)
- void ( STDMETHODCALLTYPE *GetResourceTiling )(
- ID3D12Device9 * This,
- _In_ ID3D12Resource *pTiledResource,
- _Out_opt_ UINT *pNumTilesForEntireResource,
- _Out_opt_ D3D12_PACKED_MIP_INFO *pPackedMipDesc,
- _Out_opt_ D3D12_TILE_SHAPE *pStandardTileShapeForNonPackedMips,
- _Inout_opt_ UINT *pNumSubresourceTilings,
- _In_ UINT FirstSubresourceTilingToGet,
- _Out_writes_(*pNumSubresourceTilings) D3D12_SUBRESOURCE_TILING *pSubresourceTilingsForNonPackedMips);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetAdapterLuid)
- #if !defined(_WIN32)
- LUID ( STDMETHODCALLTYPE *GetAdapterLuid )(
- ID3D12Device9 * This);
-
- #else
- LUID *( STDMETHODCALLTYPE *GetAdapterLuid )(
- ID3D12Device9 * This,
- LUID * RetVal);
-
- #endif
-
- DECLSPEC_XFGVIRT(ID3D12Device1, CreatePipelineLibrary)
- HRESULT ( STDMETHODCALLTYPE *CreatePipelineLibrary )(
- ID3D12Device9 * This,
- _In_reads_(BlobLength) const void *pLibraryBlob,
- SIZE_T BlobLength,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineLibrary);
-
- DECLSPEC_XFGVIRT(ID3D12Device1, SetEventOnMultipleFenceCompletion)
- HRESULT ( STDMETHODCALLTYPE *SetEventOnMultipleFenceCompletion )(
- ID3D12Device9 * This,
- _In_reads_(NumFences) ID3D12Fence *const *ppFences,
- _In_reads_(NumFences) const UINT64 *pFenceValues,
- UINT NumFences,
- D3D12_MULTIPLE_FENCE_WAIT_FLAGS Flags,
- HANDLE hEvent);
-
- DECLSPEC_XFGVIRT(ID3D12Device1, SetResidencyPriority)
- HRESULT ( STDMETHODCALLTYPE *SetResidencyPriority )(
- ID3D12Device9 * This,
- UINT NumObjects,
- _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects,
- _In_reads_(NumObjects) const D3D12_RESIDENCY_PRIORITY *pPriorities);
-
- DECLSPEC_XFGVIRT(ID3D12Device2, CreatePipelineState)
- HRESULT ( STDMETHODCALLTYPE *CreatePipelineState )(
- ID3D12Device9 * This,
- const D3D12_PIPELINE_STATE_STREAM_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineState);
-
- DECLSPEC_XFGVIRT(ID3D12Device3, OpenExistingHeapFromAddress)
- HRESULT ( STDMETHODCALLTYPE *OpenExistingHeapFromAddress )(
- ID3D12Device9 * This,
- _In_ const void *pAddress,
- REFIID riid,
- _COM_Outptr_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device3, OpenExistingHeapFromFileMapping)
- HRESULT ( STDMETHODCALLTYPE *OpenExistingHeapFromFileMapping )(
- ID3D12Device9 * This,
- _In_ HANDLE hFileMapping,
- REFIID riid,
- _COM_Outptr_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device3, EnqueueMakeResident)
- HRESULT ( STDMETHODCALLTYPE *EnqueueMakeResident )(
- ID3D12Device9 * This,
- D3D12_RESIDENCY_FLAGS Flags,
- UINT NumObjects,
- _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects,
- _In_ ID3D12Fence *pFenceToSignal,
- UINT64 FenceValueToSignal);
-
- DECLSPEC_XFGVIRT(ID3D12Device4, CreateCommandList1)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandList1 )(
- ID3D12Device9 * This,
- _In_ UINT nodeMask,
- _In_ D3D12_COMMAND_LIST_TYPE type,
- _In_ D3D12_COMMAND_LIST_FLAGS flags,
- REFIID riid,
- _COM_Outptr_ void **ppCommandList);
-
- DECLSPEC_XFGVIRT(ID3D12Device4, CreateProtectedResourceSession)
- HRESULT ( STDMETHODCALLTYPE *CreateProtectedResourceSession )(
- ID3D12Device9 * This,
- _In_ const D3D12_PROTECTED_RESOURCE_SESSION_DESC *pDesc,
- _In_ REFIID riid,
- _COM_Outptr_ void **ppSession);
-
- DECLSPEC_XFGVIRT(ID3D12Device4, CreateCommittedResource1)
- HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource1 )(
- ID3D12Device9 * This,
- _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties,
- D3D12_HEAP_FLAGS HeapFlags,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialResourceState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
- REFIID riidResource,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device4, CreateHeap1)
- HRESULT ( STDMETHODCALLTYPE *CreateHeap1 )(
- ID3D12Device9 * This,
- _In_ const D3D12_HEAP_DESC *pDesc,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device4, CreateReservedResource1)
- HRESULT ( STDMETHODCALLTYPE *CreateReservedResource1 )(
- ID3D12Device9 * This,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device4, GetResourceAllocationInfo1)
- #if !defined(_WIN32)
- D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo1 )(
- ID3D12Device9 * This,
- UINT visibleMask,
- UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs,
- _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1);
-
- #else
- D3D12_RESOURCE_ALLOCATION_INFO *( STDMETHODCALLTYPE *GetResourceAllocationInfo1 )(
- ID3D12Device9 * This,
- D3D12_RESOURCE_ALLOCATION_INFO * RetVal,
- UINT visibleMask,
- UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs,
- _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1);
-
- #endif
-
- DECLSPEC_XFGVIRT(ID3D12Device5, CreateLifetimeTracker)
- HRESULT ( STDMETHODCALLTYPE *CreateLifetimeTracker )(
- ID3D12Device9 * This,
- _In_ ID3D12LifetimeOwner *pOwner,
- REFIID riid,
- _COM_Outptr_ void **ppvTracker);
-
- DECLSPEC_XFGVIRT(ID3D12Device5, RemoveDevice)
- void ( STDMETHODCALLTYPE *RemoveDevice )(
- ID3D12Device9 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Device5, EnumerateMetaCommands)
- HRESULT ( STDMETHODCALLTYPE *EnumerateMetaCommands )(
- ID3D12Device9 * This,
- _Inout_ UINT *pNumMetaCommands,
- _Out_writes_opt_(*pNumMetaCommands) D3D12_META_COMMAND_DESC *pDescs);
-
- DECLSPEC_XFGVIRT(ID3D12Device5, EnumerateMetaCommandParameters)
- HRESULT ( STDMETHODCALLTYPE *EnumerateMetaCommandParameters )(
- ID3D12Device9 * This,
- _In_ REFGUID CommandId,
- _In_ D3D12_META_COMMAND_PARAMETER_STAGE Stage,
- _Out_opt_ UINT *pTotalStructureSizeInBytes,
- _Inout_ UINT *pParameterCount,
- _Out_writes_opt_(*pParameterCount) D3D12_META_COMMAND_PARAMETER_DESC *pParameterDescs);
-
- DECLSPEC_XFGVIRT(ID3D12Device5, CreateMetaCommand)
- HRESULT ( STDMETHODCALLTYPE *CreateMetaCommand )(
- ID3D12Device9 * This,
- _In_ REFGUID CommandId,
- _In_ UINT NodeMask,
- _In_reads_bytes_opt_(CreationParametersDataSizeInBytes) const void *pCreationParametersData,
- _In_ SIZE_T CreationParametersDataSizeInBytes,
- REFIID riid,
- _COM_Outptr_ void **ppMetaCommand);
-
- DECLSPEC_XFGVIRT(ID3D12Device5, CreateStateObject)
- HRESULT ( STDMETHODCALLTYPE *CreateStateObject )(
- ID3D12Device9 * This,
- const D3D12_STATE_OBJECT_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppStateObject);
-
- DECLSPEC_XFGVIRT(ID3D12Device5, GetRaytracingAccelerationStructurePrebuildInfo)
- void ( STDMETHODCALLTYPE *GetRaytracingAccelerationStructurePrebuildInfo )(
- ID3D12Device9 * This,
- _In_ const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS *pDesc,
- _Out_ D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO *pInfo);
-
- DECLSPEC_XFGVIRT(ID3D12Device5, CheckDriverMatchingIdentifier)
- D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS ( STDMETHODCALLTYPE *CheckDriverMatchingIdentifier )(
- ID3D12Device9 * This,
- _In_ D3D12_SERIALIZED_DATA_TYPE SerializedDataType,
- _In_ const D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER *pIdentifierToCheck);
-
- DECLSPEC_XFGVIRT(ID3D12Device6, SetBackgroundProcessingMode)
- HRESULT ( STDMETHODCALLTYPE *SetBackgroundProcessingMode )(
- ID3D12Device9 * This,
- D3D12_BACKGROUND_PROCESSING_MODE Mode,
- D3D12_MEASUREMENTS_ACTION MeasurementsAction,
- _In_opt_ HANDLE hEventToSignalUponCompletion,
- _Out_opt_ BOOL *pbFurtherMeasurementsDesired);
-
- DECLSPEC_XFGVIRT(ID3D12Device7, AddToStateObject)
- HRESULT ( STDMETHODCALLTYPE *AddToStateObject )(
- ID3D12Device9 * This,
- const D3D12_STATE_OBJECT_DESC *pAddition,
- ID3D12StateObject *pStateObjectToGrowFrom,
- REFIID riid,
- _COM_Outptr_ void **ppNewStateObject);
-
- DECLSPEC_XFGVIRT(ID3D12Device7, CreateProtectedResourceSession1)
- HRESULT ( STDMETHODCALLTYPE *CreateProtectedResourceSession1 )(
- ID3D12Device9 * This,
- _In_ const D3D12_PROTECTED_RESOURCE_SESSION_DESC1 *pDesc,
- _In_ REFIID riid,
- _COM_Outptr_ void **ppSession);
-
- DECLSPEC_XFGVIRT(ID3D12Device8, GetResourceAllocationInfo2)
- #if !defined(_WIN32)
- D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo2 )(
- ID3D12Device9 * This,
- UINT visibleMask,
- UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC1 *pResourceDescs,
- _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1);
-
- #else
- D3D12_RESOURCE_ALLOCATION_INFO *( STDMETHODCALLTYPE *GetResourceAllocationInfo2 )(
- ID3D12Device9 * This,
- D3D12_RESOURCE_ALLOCATION_INFO * RetVal,
- UINT visibleMask,
- UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC1 *pResourceDescs,
- _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1);
-
- #endif
-
- DECLSPEC_XFGVIRT(ID3D12Device8, CreateCommittedResource2)
- HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource2 )(
- ID3D12Device9 * This,
- _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties,
- D3D12_HEAP_FLAGS HeapFlags,
- _In_ const D3D12_RESOURCE_DESC1 *pDesc,
- D3D12_RESOURCE_STATES InitialResourceState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
- REFIID riidResource,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device8, CreatePlacedResource1)
- HRESULT ( STDMETHODCALLTYPE *CreatePlacedResource1 )(
- ID3D12Device9 * This,
- _In_ ID3D12Heap *pHeap,
- UINT64 HeapOffset,
- _In_ const D3D12_RESOURCE_DESC1 *pDesc,
- D3D12_RESOURCE_STATES InitialState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device8, CreateSamplerFeedbackUnorderedAccessView)
- void ( STDMETHODCALLTYPE *CreateSamplerFeedbackUnorderedAccessView )(
- ID3D12Device9 * This,
- _In_opt_ ID3D12Resource *pTargetedResource,
- _In_opt_ ID3D12Resource *pFeedbackResource,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device8, GetCopyableFootprints1)
- void ( STDMETHODCALLTYPE *GetCopyableFootprints1 )(
- ID3D12Device9 * This,
- _In_ const D3D12_RESOURCE_DESC1 *pResourceDesc,
- _In_range_(0,D3D12_REQ_SUBRESOURCES) UINT FirstSubresource,
- _In_range_(0,D3D12_REQ_SUBRESOURCES-FirstSubresource) UINT NumSubresources,
- UINT64 BaseOffset,
- _Out_writes_opt_(NumSubresources) D3D12_PLACED_SUBRESOURCE_FOOTPRINT *pLayouts,
- _Out_writes_opt_(NumSubresources) UINT *pNumRows,
- _Out_writes_opt_(NumSubresources) UINT64 *pRowSizeInBytes,
- _Out_opt_ UINT64 *pTotalBytes);
-
- DECLSPEC_XFGVIRT(ID3D12Device9, CreateShaderCacheSession)
- HRESULT ( STDMETHODCALLTYPE *CreateShaderCacheSession )(
- ID3D12Device9 * This,
- _In_ const D3D12_SHADER_CACHE_SESSION_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvSession);
-
- DECLSPEC_XFGVIRT(ID3D12Device9, ShaderCacheControl)
- HRESULT ( STDMETHODCALLTYPE *ShaderCacheControl )(
- ID3D12Device9 * This,
- D3D12_SHADER_CACHE_KIND_FLAGS Kinds,
- D3D12_SHADER_CACHE_CONTROL_FLAGS Control);
-
- DECLSPEC_XFGVIRT(ID3D12Device9, CreateCommandQueue1)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandQueue1 )(
- ID3D12Device9 * This,
- _In_ const D3D12_COMMAND_QUEUE_DESC *pDesc,
- REFIID CreatorID,
- REFIID riid,
- _COM_Outptr_ void **ppCommandQueue);
-
- END_INTERFACE
- } ID3D12Device9Vtbl;
- interface ID3D12Device9
- {
- CONST_VTBL struct ID3D12Device9Vtbl *lpVtbl;
- };
-
- #ifdef COBJMACROS
- #define ID3D12Device9_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define ID3D12Device9_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define ID3D12Device9_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #define ID3D12Device9_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
- #define ID3D12Device9_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
- #define ID3D12Device9_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
- #define ID3D12Device9_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
- #define ID3D12Device9_GetNodeCount(This) \
- ( (This)->lpVtbl -> GetNodeCount(This) )
- #define ID3D12Device9_CreateCommandQueue(This,pDesc,riid,ppCommandQueue) \
- ( (This)->lpVtbl -> CreateCommandQueue(This,pDesc,riid,ppCommandQueue) )
- #define ID3D12Device9_CreateCommandAllocator(This,type,riid,ppCommandAllocator) \
- ( (This)->lpVtbl -> CreateCommandAllocator(This,type,riid,ppCommandAllocator) )
- #define ID3D12Device9_CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) \
- ( (This)->lpVtbl -> CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) )
- #define ID3D12Device9_CreateComputePipelineState(This,pDesc,riid,ppPipelineState) \
- ( (This)->lpVtbl -> CreateComputePipelineState(This,pDesc,riid,ppPipelineState) )
- #define ID3D12Device9_CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) \
- ( (This)->lpVtbl -> CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) )
- #define ID3D12Device9_CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) \
- ( (This)->lpVtbl -> CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) )
- #define ID3D12Device9_CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) \
- ( (This)->lpVtbl -> CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) )
- #define ID3D12Device9_GetDescriptorHandleIncrementSize(This,DescriptorHeapType) \
- ( (This)->lpVtbl -> GetDescriptorHandleIncrementSize(This,DescriptorHeapType) )
- #define ID3D12Device9_CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) \
- ( (This)->lpVtbl -> CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) )
- #define ID3D12Device9_CreateConstantBufferView(This,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateConstantBufferView(This,pDesc,DestDescriptor) )
- #define ID3D12Device9_CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) )
- #define ID3D12Device9_CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) )
- #define ID3D12Device9_CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) )
- #define ID3D12Device9_CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) )
- #define ID3D12Device9_CreateSampler(This,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateSampler(This,pDesc,DestDescriptor) )
- #define ID3D12Device9_CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) \
- ( (This)->lpVtbl -> CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) )
- #define ID3D12Device9_CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) \
- ( (This)->lpVtbl -> CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) )
- #if !defined(_WIN32)
- #define ID3D12Device9_GetResourceAllocationInfo(This,visibleMask,numResourceDescs,pResourceDescs) \
- ( (This)->lpVtbl -> GetResourceAllocationInfo(This,visibleMask,numResourceDescs,pResourceDescs) )
- #else
- #define ID3D12Device9_GetResourceAllocationInfo(This,RetVal,visibleMask,numResourceDescs,pResourceDescs) \
- ( (This)->lpVtbl -> GetResourceAllocationInfo(This,RetVal,visibleMask,numResourceDescs,pResourceDescs) )
- #endif
- #if !defined(_WIN32)
- #define ID3D12Device9_GetCustomHeapProperties(This,nodeMask,heapType) \
- ( (This)->lpVtbl -> GetCustomHeapProperties(This,nodeMask,heapType) )
- #else
- #define ID3D12Device9_GetCustomHeapProperties(This,RetVal,nodeMask,heapType) \
- ( (This)->lpVtbl -> GetCustomHeapProperties(This,RetVal,nodeMask,heapType) )
- #endif
- #define ID3D12Device9_CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) \
- ( (This)->lpVtbl -> CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) )
- #define ID3D12Device9_CreateHeap(This,pDesc,riid,ppvHeap) \
- ( (This)->lpVtbl -> CreateHeap(This,pDesc,riid,ppvHeap) )
- #define ID3D12Device9_CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
- ( (This)->lpVtbl -> CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
- #define ID3D12Device9_CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
- ( (This)->lpVtbl -> CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
- #define ID3D12Device9_CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) \
- ( (This)->lpVtbl -> CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) )
- #define ID3D12Device9_OpenSharedHandle(This,NTHandle,riid,ppvObj) \
- ( (This)->lpVtbl -> OpenSharedHandle(This,NTHandle,riid,ppvObj) )
- #define ID3D12Device9_OpenSharedHandleByName(This,Name,Access,pNTHandle) \
- ( (This)->lpVtbl -> OpenSharedHandleByName(This,Name,Access,pNTHandle) )
- #define ID3D12Device9_MakeResident(This,NumObjects,ppObjects) \
- ( (This)->lpVtbl -> MakeResident(This,NumObjects,ppObjects) )
- #define ID3D12Device9_Evict(This,NumObjects,ppObjects) \
- ( (This)->lpVtbl -> Evict(This,NumObjects,ppObjects) )
- #define ID3D12Device9_CreateFence(This,InitialValue,Flags,riid,ppFence) \
- ( (This)->lpVtbl -> CreateFence(This,InitialValue,Flags,riid,ppFence) )
- #define ID3D12Device9_GetDeviceRemovedReason(This) \
- ( (This)->lpVtbl -> GetDeviceRemovedReason(This) )
- #define ID3D12Device9_GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) \
- ( (This)->lpVtbl -> GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) )
- #define ID3D12Device9_CreateQueryHeap(This,pDesc,riid,ppvHeap) \
- ( (This)->lpVtbl -> CreateQueryHeap(This,pDesc,riid,ppvHeap) )
- #define ID3D12Device9_SetStablePowerState(This,Enable) \
- ( (This)->lpVtbl -> SetStablePowerState(This,Enable) )
- #define ID3D12Device9_CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) \
- ( (This)->lpVtbl -> CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) )
- #define ID3D12Device9_GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) \
- ( (This)->lpVtbl -> GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) )
- #if !defined(_WIN32)
- #define ID3D12Device9_GetAdapterLuid(This) \
- ( (This)->lpVtbl -> GetAdapterLuid(This) )
- #else
- #define ID3D12Device9_GetAdapterLuid(This,RetVal) \
- ( (This)->lpVtbl -> GetAdapterLuid(This,RetVal) )
- #endif
- #define ID3D12Device9_CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) \
- ( (This)->lpVtbl -> CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) )
- #define ID3D12Device9_SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) \
- ( (This)->lpVtbl -> SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) )
- #define ID3D12Device9_SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) \
- ( (This)->lpVtbl -> SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) )
- #define ID3D12Device9_CreatePipelineState(This,pDesc,riid,ppPipelineState) \
- ( (This)->lpVtbl -> CreatePipelineState(This,pDesc,riid,ppPipelineState) )
- #define ID3D12Device9_OpenExistingHeapFromAddress(This,pAddress,riid,ppvHeap) \
- ( (This)->lpVtbl -> OpenExistingHeapFromAddress(This,pAddress,riid,ppvHeap) )
- #define ID3D12Device9_OpenExistingHeapFromFileMapping(This,hFileMapping,riid,ppvHeap) \
- ( (This)->lpVtbl -> OpenExistingHeapFromFileMapping(This,hFileMapping,riid,ppvHeap) )
- #define ID3D12Device9_EnqueueMakeResident(This,Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) \
- ( (This)->lpVtbl -> EnqueueMakeResident(This,Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) )
- #define ID3D12Device9_CreateCommandList1(This,nodeMask,type,flags,riid,ppCommandList) \
- ( (This)->lpVtbl -> CreateCommandList1(This,nodeMask,type,flags,riid,ppCommandList) )
- #define ID3D12Device9_CreateProtectedResourceSession(This,pDesc,riid,ppSession) \
- ( (This)->lpVtbl -> CreateProtectedResourceSession(This,pDesc,riid,ppSession) )
- #define ID3D12Device9_CreateCommittedResource1(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) \
- ( (This)->lpVtbl -> CreateCommittedResource1(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) )
- #define ID3D12Device9_CreateHeap1(This,pDesc,pProtectedSession,riid,ppvHeap) \
- ( (This)->lpVtbl -> CreateHeap1(This,pDesc,pProtectedSession,riid,ppvHeap) )
- #define ID3D12Device9_CreateReservedResource1(This,pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) \
- ( (This)->lpVtbl -> CreateReservedResource1(This,pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) )
- #if !defined(_WIN32)
- #define ID3D12Device9_GetResourceAllocationInfo1(This,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) \
- ( (This)->lpVtbl -> GetResourceAllocationInfo1(This,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) )
- #else
- #define ID3D12Device9_GetResourceAllocationInfo1(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) \
- ( (This)->lpVtbl -> GetResourceAllocationInfo1(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) )
- #endif
- #define ID3D12Device9_CreateLifetimeTracker(This,pOwner,riid,ppvTracker) \
- ( (This)->lpVtbl -> CreateLifetimeTracker(This,pOwner,riid,ppvTracker) )
- #define ID3D12Device9_RemoveDevice(This) \
- ( (This)->lpVtbl -> RemoveDevice(This) )
- #define ID3D12Device9_EnumerateMetaCommands(This,pNumMetaCommands,pDescs) \
- ( (This)->lpVtbl -> EnumerateMetaCommands(This,pNumMetaCommands,pDescs) )
- #define ID3D12Device9_EnumerateMetaCommandParameters(This,CommandId,Stage,pTotalStructureSizeInBytes,pParameterCount,pParameterDescs) \
- ( (This)->lpVtbl -> EnumerateMetaCommandParameters(This,CommandId,Stage,pTotalStructureSizeInBytes,pParameterCount,pParameterDescs) )
- #define ID3D12Device9_CreateMetaCommand(This,CommandId,NodeMask,pCreationParametersData,CreationParametersDataSizeInBytes,riid,ppMetaCommand) \
- ( (This)->lpVtbl -> CreateMetaCommand(This,CommandId,NodeMask,pCreationParametersData,CreationParametersDataSizeInBytes,riid,ppMetaCommand) )
- #define ID3D12Device9_CreateStateObject(This,pDesc,riid,ppStateObject) \
- ( (This)->lpVtbl -> CreateStateObject(This,pDesc,riid,ppStateObject) )
- #define ID3D12Device9_GetRaytracingAccelerationStructurePrebuildInfo(This,pDesc,pInfo) \
- ( (This)->lpVtbl -> GetRaytracingAccelerationStructurePrebuildInfo(This,pDesc,pInfo) )
- #define ID3D12Device9_CheckDriverMatchingIdentifier(This,SerializedDataType,pIdentifierToCheck) \
- ( (This)->lpVtbl -> CheckDriverMatchingIdentifier(This,SerializedDataType,pIdentifierToCheck) )
- #define ID3D12Device9_SetBackgroundProcessingMode(This,Mode,MeasurementsAction,hEventToSignalUponCompletion,pbFurtherMeasurementsDesired) \
- ( (This)->lpVtbl -> SetBackgroundProcessingMode(This,Mode,MeasurementsAction,hEventToSignalUponCompletion,pbFurtherMeasurementsDesired) )
- #define ID3D12Device9_AddToStateObject(This,pAddition,pStateObjectToGrowFrom,riid,ppNewStateObject) \
- ( (This)->lpVtbl -> AddToStateObject(This,pAddition,pStateObjectToGrowFrom,riid,ppNewStateObject) )
- #define ID3D12Device9_CreateProtectedResourceSession1(This,pDesc,riid,ppSession) \
- ( (This)->lpVtbl -> CreateProtectedResourceSession1(This,pDesc,riid,ppSession) )
- #if !defined(_WIN32)
- #define ID3D12Device9_GetResourceAllocationInfo2(This,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) \
- ( (This)->lpVtbl -> GetResourceAllocationInfo2(This,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) )
- #else
- #define ID3D12Device9_GetResourceAllocationInfo2(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) \
- ( (This)->lpVtbl -> GetResourceAllocationInfo2(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) )
- #endif
- #define ID3D12Device9_CreateCommittedResource2(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) \
- ( (This)->lpVtbl -> CreateCommittedResource2(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) )
- #define ID3D12Device9_CreatePlacedResource1(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
- ( (This)->lpVtbl -> CreatePlacedResource1(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
- #define ID3D12Device9_CreateSamplerFeedbackUnorderedAccessView(This,pTargetedResource,pFeedbackResource,DestDescriptor) \
- ( (This)->lpVtbl -> CreateSamplerFeedbackUnorderedAccessView(This,pTargetedResource,pFeedbackResource,DestDescriptor) )
- #define ID3D12Device9_GetCopyableFootprints1(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) \
- ( (This)->lpVtbl -> GetCopyableFootprints1(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) )
- #define ID3D12Device9_CreateShaderCacheSession(This,pDesc,riid,ppvSession) \
- ( (This)->lpVtbl -> CreateShaderCacheSession(This,pDesc,riid,ppvSession) )
- #define ID3D12Device9_ShaderCacheControl(This,Kinds,Control) \
- ( (This)->lpVtbl -> ShaderCacheControl(This,Kinds,Control) )
- #define ID3D12Device9_CreateCommandQueue1(This,pDesc,CreatorID,riid,ppCommandQueue) \
- ( (This)->lpVtbl -> CreateCommandQueue1(This,pDesc,CreatorID,riid,ppCommandQueue) )
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __ID3D12Device9_INTERFACE_DEFINED__ */
- #ifndef __ID3D12Device10_INTERFACE_DEFINED__
- #define __ID3D12Device10_INTERFACE_DEFINED__
- /* interface ID3D12Device10 */
- /* [unique][local][object][uuid] */
- EXTERN_C const IID IID_ID3D12Device10;
- #if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("517f8718-aa66-49f9-b02b-a7ab89c06031")
- ID3D12Device10 : public ID3D12Device9
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE CreateCommittedResource3(
- _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties,
- D3D12_HEAP_FLAGS HeapFlags,
- _In_ const D3D12_RESOURCE_DESC1 *pDesc,
- D3D12_BARRIER_LAYOUT InitialLayout,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
- UINT32 NumCastableFormats,
- _In_opt_count_(NumCastableFormats) const DXGI_FORMAT *pCastableFormats,
- REFIID riidResource,
- _COM_Outptr_opt_ void **ppvResource) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE CreatePlacedResource2(
- _In_ ID3D12Heap *pHeap,
- UINT64 HeapOffset,
- _In_ const D3D12_RESOURCE_DESC1 *pDesc,
- D3D12_BARRIER_LAYOUT InitialLayout,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- UINT32 NumCastableFormats,
- _In_opt_count_(NumCastableFormats) const DXGI_FORMAT *pCastableFormats,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvResource) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE CreateReservedResource2(
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_BARRIER_LAYOUT InitialLayout,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
- UINT32 NumCastableFormats,
- _In_opt_count_(NumCastableFormats) const DXGI_FORMAT *pCastableFormats,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvResource) = 0;
-
- };
-
-
- #else /* C style interface */
- typedef struct ID3D12Device10Vtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12Device10 * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12Device10 * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12Device10 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12Device10 * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12Device10 * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12Device10 * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetName)
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12Device10 * This,
- _In_z_ LPCWSTR Name);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetNodeCount)
- UINT ( STDMETHODCALLTYPE *GetNodeCount )(
- ID3D12Device10 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandQueue)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandQueue )(
- ID3D12Device10 * This,
- _In_ const D3D12_COMMAND_QUEUE_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppCommandQueue);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandAllocator)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandAllocator )(
- ID3D12Device10 * This,
- _In_ D3D12_COMMAND_LIST_TYPE type,
- REFIID riid,
- _COM_Outptr_ void **ppCommandAllocator);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateGraphicsPipelineState)
- HRESULT ( STDMETHODCALLTYPE *CreateGraphicsPipelineState )(
- ID3D12Device10 * This,
- _In_ const D3D12_GRAPHICS_PIPELINE_STATE_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineState);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateComputePipelineState)
- HRESULT ( STDMETHODCALLTYPE *CreateComputePipelineState )(
- ID3D12Device10 * This,
- _In_ const D3D12_COMPUTE_PIPELINE_STATE_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineState);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandList)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandList )(
- ID3D12Device10 * This,
- _In_ UINT nodeMask,
- _In_ D3D12_COMMAND_LIST_TYPE type,
- _In_ ID3D12CommandAllocator *pCommandAllocator,
- _In_opt_ ID3D12PipelineState *pInitialState,
- REFIID riid,
- _COM_Outptr_ void **ppCommandList);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CheckFeatureSupport)
- HRESULT ( STDMETHODCALLTYPE *CheckFeatureSupport )(
- ID3D12Device10 * This,
- D3D12_FEATURE Feature,
- _Inout_updates_bytes_(FeatureSupportDataSize) void *pFeatureSupportData,
- UINT FeatureSupportDataSize);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateDescriptorHeap)
- HRESULT ( STDMETHODCALLTYPE *CreateDescriptorHeap )(
- ID3D12Device10 * This,
- _In_ const D3D12_DESCRIPTOR_HEAP_DESC *pDescriptorHeapDesc,
- REFIID riid,
- _COM_Outptr_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetDescriptorHandleIncrementSize)
- UINT ( STDMETHODCALLTYPE *GetDescriptorHandleIncrementSize )(
- ID3D12Device10 * This,
- _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapType);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateRootSignature)
- HRESULT ( STDMETHODCALLTYPE *CreateRootSignature )(
- ID3D12Device10 * This,
- _In_ UINT nodeMask,
- _In_reads_(blobLengthInBytes) const void *pBlobWithRootSignature,
- _In_ SIZE_T blobLengthInBytes,
- REFIID riid,
- _COM_Outptr_ void **ppvRootSignature);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateConstantBufferView)
- void ( STDMETHODCALLTYPE *CreateConstantBufferView )(
- ID3D12Device10 * This,
- _In_opt_ const D3D12_CONSTANT_BUFFER_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateShaderResourceView)
- void ( STDMETHODCALLTYPE *CreateShaderResourceView )(
- ID3D12Device10 * This,
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_SHADER_RESOURCE_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateUnorderedAccessView)
- void ( STDMETHODCALLTYPE *CreateUnorderedAccessView )(
- ID3D12Device10 * This,
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ ID3D12Resource *pCounterResource,
- _In_opt_ const D3D12_UNORDERED_ACCESS_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateRenderTargetView)
- void ( STDMETHODCALLTYPE *CreateRenderTargetView )(
- ID3D12Device10 * This,
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_RENDER_TARGET_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateDepthStencilView)
- void ( STDMETHODCALLTYPE *CreateDepthStencilView )(
- ID3D12Device10 * This,
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_DEPTH_STENCIL_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateSampler)
- void ( STDMETHODCALLTYPE *CreateSampler )(
- ID3D12Device10 * This,
- _In_ const D3D12_SAMPLER_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CopyDescriptors)
- void ( STDMETHODCALLTYPE *CopyDescriptors )(
- ID3D12Device10 * This,
- _In_ UINT NumDestDescriptorRanges,
- _In_reads_(NumDestDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pDestDescriptorRangeStarts,
- _In_reads_opt_(NumDestDescriptorRanges) const UINT *pDestDescriptorRangeSizes,
- _In_ UINT NumSrcDescriptorRanges,
- _In_reads_(NumSrcDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pSrcDescriptorRangeStarts,
- _In_reads_opt_(NumSrcDescriptorRanges) const UINT *pSrcDescriptorRangeSizes,
- _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CopyDescriptorsSimple)
- void ( STDMETHODCALLTYPE *CopyDescriptorsSimple )(
- ID3D12Device10 * This,
- _In_ UINT NumDescriptors,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptorRangeStart,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE SrcDescriptorRangeStart,
- _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetResourceAllocationInfo)
- #if !defined(_WIN32)
- D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo )(
- ID3D12Device10 * This,
- _In_ UINT visibleMask,
- _In_ UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs);
-
- #else
- D3D12_RESOURCE_ALLOCATION_INFO *( STDMETHODCALLTYPE *GetResourceAllocationInfo )(
- ID3D12Device10 * This,
- D3D12_RESOURCE_ALLOCATION_INFO * RetVal,
- _In_ UINT visibleMask,
- _In_ UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs);
-
- #endif
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetCustomHeapProperties)
- #if !defined(_WIN32)
- D3D12_HEAP_PROPERTIES ( STDMETHODCALLTYPE *GetCustomHeapProperties )(
- ID3D12Device10 * This,
- _In_ UINT nodeMask,
- D3D12_HEAP_TYPE heapType);
-
- #else
- D3D12_HEAP_PROPERTIES *( STDMETHODCALLTYPE *GetCustomHeapProperties )(
- ID3D12Device10 * This,
- D3D12_HEAP_PROPERTIES * RetVal,
- _In_ UINT nodeMask,
- D3D12_HEAP_TYPE heapType);
-
- #endif
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommittedResource)
- HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource )(
- ID3D12Device10 * This,
- _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties,
- D3D12_HEAP_FLAGS HeapFlags,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialResourceState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- REFIID riidResource,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateHeap)
- HRESULT ( STDMETHODCALLTYPE *CreateHeap )(
- ID3D12Device10 * This,
- _In_ const D3D12_HEAP_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreatePlacedResource)
- HRESULT ( STDMETHODCALLTYPE *CreatePlacedResource )(
- ID3D12Device10 * This,
- _In_ ID3D12Heap *pHeap,
- UINT64 HeapOffset,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateReservedResource)
- HRESULT ( STDMETHODCALLTYPE *CreateReservedResource )(
- ID3D12Device10 * This,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateSharedHandle)
- HRESULT ( STDMETHODCALLTYPE *CreateSharedHandle )(
- ID3D12Device10 * This,
- _In_ ID3D12DeviceChild *pObject,
- _In_opt_ const SECURITY_ATTRIBUTES *pAttributes,
- DWORD Access,
- _In_opt_ LPCWSTR Name,
- _Out_ HANDLE *pHandle);
-
- DECLSPEC_XFGVIRT(ID3D12Device, OpenSharedHandle)
- HRESULT ( STDMETHODCALLTYPE *OpenSharedHandle )(
- ID3D12Device10 * This,
- _In_ HANDLE NTHandle,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvObj);
-
- DECLSPEC_XFGVIRT(ID3D12Device, OpenSharedHandleByName)
- HRESULT ( STDMETHODCALLTYPE *OpenSharedHandleByName )(
- ID3D12Device10 * This,
- _In_ LPCWSTR Name,
- DWORD Access,
- /* [annotation][out] */
- _Out_ HANDLE *pNTHandle);
-
- DECLSPEC_XFGVIRT(ID3D12Device, MakeResident)
- HRESULT ( STDMETHODCALLTYPE *MakeResident )(
- ID3D12Device10 * This,
- UINT NumObjects,
- _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects);
-
- DECLSPEC_XFGVIRT(ID3D12Device, Evict)
- HRESULT ( STDMETHODCALLTYPE *Evict )(
- ID3D12Device10 * This,
- UINT NumObjects,
- _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateFence)
- HRESULT ( STDMETHODCALLTYPE *CreateFence )(
- ID3D12Device10 * This,
- UINT64 InitialValue,
- D3D12_FENCE_FLAGS Flags,
- REFIID riid,
- _COM_Outptr_ void **ppFence);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetDeviceRemovedReason)
- HRESULT ( STDMETHODCALLTYPE *GetDeviceRemovedReason )(
- ID3D12Device10 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetCopyableFootprints)
- void ( STDMETHODCALLTYPE *GetCopyableFootprints )(
- ID3D12Device10 * This,
- _In_ const D3D12_RESOURCE_DESC *pResourceDesc,
- _In_range_(0,D3D12_REQ_SUBRESOURCES) UINT FirstSubresource,
- _In_range_(0,D3D12_REQ_SUBRESOURCES-FirstSubresource) UINT NumSubresources,
- UINT64 BaseOffset,
- _Out_writes_opt_(NumSubresources) D3D12_PLACED_SUBRESOURCE_FOOTPRINT *pLayouts,
- _Out_writes_opt_(NumSubresources) UINT *pNumRows,
- _Out_writes_opt_(NumSubresources) UINT64 *pRowSizeInBytes,
- _Out_opt_ UINT64 *pTotalBytes);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateQueryHeap)
- HRESULT ( STDMETHODCALLTYPE *CreateQueryHeap )(
- ID3D12Device10 * This,
- _In_ const D3D12_QUERY_HEAP_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device, SetStablePowerState)
- HRESULT ( STDMETHODCALLTYPE *SetStablePowerState )(
- ID3D12Device10 * This,
- BOOL Enable);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandSignature)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandSignature )(
- ID3D12Device10 * This,
- _In_ const D3D12_COMMAND_SIGNATURE_DESC *pDesc,
- _In_opt_ ID3D12RootSignature *pRootSignature,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvCommandSignature);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetResourceTiling)
- void ( STDMETHODCALLTYPE *GetResourceTiling )(
- ID3D12Device10 * This,
- _In_ ID3D12Resource *pTiledResource,
- _Out_opt_ UINT *pNumTilesForEntireResource,
- _Out_opt_ D3D12_PACKED_MIP_INFO *pPackedMipDesc,
- _Out_opt_ D3D12_TILE_SHAPE *pStandardTileShapeForNonPackedMips,
- _Inout_opt_ UINT *pNumSubresourceTilings,
- _In_ UINT FirstSubresourceTilingToGet,
- _Out_writes_(*pNumSubresourceTilings) D3D12_SUBRESOURCE_TILING *pSubresourceTilingsForNonPackedMips);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetAdapterLuid)
- #if !defined(_WIN32)
- LUID ( STDMETHODCALLTYPE *GetAdapterLuid )(
- ID3D12Device10 * This);
-
- #else
- LUID *( STDMETHODCALLTYPE *GetAdapterLuid )(
- ID3D12Device10 * This,
- LUID * RetVal);
-
- #endif
-
- DECLSPEC_XFGVIRT(ID3D12Device1, CreatePipelineLibrary)
- HRESULT ( STDMETHODCALLTYPE *CreatePipelineLibrary )(
- ID3D12Device10 * This,
- _In_reads_(BlobLength) const void *pLibraryBlob,
- SIZE_T BlobLength,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineLibrary);
-
- DECLSPEC_XFGVIRT(ID3D12Device1, SetEventOnMultipleFenceCompletion)
- HRESULT ( STDMETHODCALLTYPE *SetEventOnMultipleFenceCompletion )(
- ID3D12Device10 * This,
- _In_reads_(NumFences) ID3D12Fence *const *ppFences,
- _In_reads_(NumFences) const UINT64 *pFenceValues,
- UINT NumFences,
- D3D12_MULTIPLE_FENCE_WAIT_FLAGS Flags,
- HANDLE hEvent);
-
- DECLSPEC_XFGVIRT(ID3D12Device1, SetResidencyPriority)
- HRESULT ( STDMETHODCALLTYPE *SetResidencyPriority )(
- ID3D12Device10 * This,
- UINT NumObjects,
- _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects,
- _In_reads_(NumObjects) const D3D12_RESIDENCY_PRIORITY *pPriorities);
-
- DECLSPEC_XFGVIRT(ID3D12Device2, CreatePipelineState)
- HRESULT ( STDMETHODCALLTYPE *CreatePipelineState )(
- ID3D12Device10 * This,
- const D3D12_PIPELINE_STATE_STREAM_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineState);
-
- DECLSPEC_XFGVIRT(ID3D12Device3, OpenExistingHeapFromAddress)
- HRESULT ( STDMETHODCALLTYPE *OpenExistingHeapFromAddress )(
- ID3D12Device10 * This,
- _In_ const void *pAddress,
- REFIID riid,
- _COM_Outptr_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device3, OpenExistingHeapFromFileMapping)
- HRESULT ( STDMETHODCALLTYPE *OpenExistingHeapFromFileMapping )(
- ID3D12Device10 * This,
- _In_ HANDLE hFileMapping,
- REFIID riid,
- _COM_Outptr_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device3, EnqueueMakeResident)
- HRESULT ( STDMETHODCALLTYPE *EnqueueMakeResident )(
- ID3D12Device10 * This,
- D3D12_RESIDENCY_FLAGS Flags,
- UINT NumObjects,
- _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects,
- _In_ ID3D12Fence *pFenceToSignal,
- UINT64 FenceValueToSignal);
-
- DECLSPEC_XFGVIRT(ID3D12Device4, CreateCommandList1)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandList1 )(
- ID3D12Device10 * This,
- _In_ UINT nodeMask,
- _In_ D3D12_COMMAND_LIST_TYPE type,
- _In_ D3D12_COMMAND_LIST_FLAGS flags,
- REFIID riid,
- _COM_Outptr_ void **ppCommandList);
-
- DECLSPEC_XFGVIRT(ID3D12Device4, CreateProtectedResourceSession)
- HRESULT ( STDMETHODCALLTYPE *CreateProtectedResourceSession )(
- ID3D12Device10 * This,
- _In_ const D3D12_PROTECTED_RESOURCE_SESSION_DESC *pDesc,
- _In_ REFIID riid,
- _COM_Outptr_ void **ppSession);
-
- DECLSPEC_XFGVIRT(ID3D12Device4, CreateCommittedResource1)
- HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource1 )(
- ID3D12Device10 * This,
- _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties,
- D3D12_HEAP_FLAGS HeapFlags,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialResourceState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
- REFIID riidResource,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device4, CreateHeap1)
- HRESULT ( STDMETHODCALLTYPE *CreateHeap1 )(
- ID3D12Device10 * This,
- _In_ const D3D12_HEAP_DESC *pDesc,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device4, CreateReservedResource1)
- HRESULT ( STDMETHODCALLTYPE *CreateReservedResource1 )(
- ID3D12Device10 * This,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device4, GetResourceAllocationInfo1)
- #if !defined(_WIN32)
- D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo1 )(
- ID3D12Device10 * This,
- UINT visibleMask,
- UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs,
- _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1);
-
- #else
- D3D12_RESOURCE_ALLOCATION_INFO *( STDMETHODCALLTYPE *GetResourceAllocationInfo1 )(
- ID3D12Device10 * This,
- D3D12_RESOURCE_ALLOCATION_INFO * RetVal,
- UINT visibleMask,
- UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs,
- _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1);
-
- #endif
-
- DECLSPEC_XFGVIRT(ID3D12Device5, CreateLifetimeTracker)
- HRESULT ( STDMETHODCALLTYPE *CreateLifetimeTracker )(
- ID3D12Device10 * This,
- _In_ ID3D12LifetimeOwner *pOwner,
- REFIID riid,
- _COM_Outptr_ void **ppvTracker);
-
- DECLSPEC_XFGVIRT(ID3D12Device5, RemoveDevice)
- void ( STDMETHODCALLTYPE *RemoveDevice )(
- ID3D12Device10 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Device5, EnumerateMetaCommands)
- HRESULT ( STDMETHODCALLTYPE *EnumerateMetaCommands )(
- ID3D12Device10 * This,
- _Inout_ UINT *pNumMetaCommands,
- _Out_writes_opt_(*pNumMetaCommands) D3D12_META_COMMAND_DESC *pDescs);
-
- DECLSPEC_XFGVIRT(ID3D12Device5, EnumerateMetaCommandParameters)
- HRESULT ( STDMETHODCALLTYPE *EnumerateMetaCommandParameters )(
- ID3D12Device10 * This,
- _In_ REFGUID CommandId,
- _In_ D3D12_META_COMMAND_PARAMETER_STAGE Stage,
- _Out_opt_ UINT *pTotalStructureSizeInBytes,
- _Inout_ UINT *pParameterCount,
- _Out_writes_opt_(*pParameterCount) D3D12_META_COMMAND_PARAMETER_DESC *pParameterDescs);
-
- DECLSPEC_XFGVIRT(ID3D12Device5, CreateMetaCommand)
- HRESULT ( STDMETHODCALLTYPE *CreateMetaCommand )(
- ID3D12Device10 * This,
- _In_ REFGUID CommandId,
- _In_ UINT NodeMask,
- _In_reads_bytes_opt_(CreationParametersDataSizeInBytes) const void *pCreationParametersData,
- _In_ SIZE_T CreationParametersDataSizeInBytes,
- REFIID riid,
- _COM_Outptr_ void **ppMetaCommand);
-
- DECLSPEC_XFGVIRT(ID3D12Device5, CreateStateObject)
- HRESULT ( STDMETHODCALLTYPE *CreateStateObject )(
- ID3D12Device10 * This,
- const D3D12_STATE_OBJECT_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppStateObject);
-
- DECLSPEC_XFGVIRT(ID3D12Device5, GetRaytracingAccelerationStructurePrebuildInfo)
- void ( STDMETHODCALLTYPE *GetRaytracingAccelerationStructurePrebuildInfo )(
- ID3D12Device10 * This,
- _In_ const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS *pDesc,
- _Out_ D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO *pInfo);
-
- DECLSPEC_XFGVIRT(ID3D12Device5, CheckDriverMatchingIdentifier)
- D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS ( STDMETHODCALLTYPE *CheckDriverMatchingIdentifier )(
- ID3D12Device10 * This,
- _In_ D3D12_SERIALIZED_DATA_TYPE SerializedDataType,
- _In_ const D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER *pIdentifierToCheck);
-
- DECLSPEC_XFGVIRT(ID3D12Device6, SetBackgroundProcessingMode)
- HRESULT ( STDMETHODCALLTYPE *SetBackgroundProcessingMode )(
- ID3D12Device10 * This,
- D3D12_BACKGROUND_PROCESSING_MODE Mode,
- D3D12_MEASUREMENTS_ACTION MeasurementsAction,
- _In_opt_ HANDLE hEventToSignalUponCompletion,
- _Out_opt_ BOOL *pbFurtherMeasurementsDesired);
-
- DECLSPEC_XFGVIRT(ID3D12Device7, AddToStateObject)
- HRESULT ( STDMETHODCALLTYPE *AddToStateObject )(
- ID3D12Device10 * This,
- const D3D12_STATE_OBJECT_DESC *pAddition,
- ID3D12StateObject *pStateObjectToGrowFrom,
- REFIID riid,
- _COM_Outptr_ void **ppNewStateObject);
-
- DECLSPEC_XFGVIRT(ID3D12Device7, CreateProtectedResourceSession1)
- HRESULT ( STDMETHODCALLTYPE *CreateProtectedResourceSession1 )(
- ID3D12Device10 * This,
- _In_ const D3D12_PROTECTED_RESOURCE_SESSION_DESC1 *pDesc,
- _In_ REFIID riid,
- _COM_Outptr_ void **ppSession);
-
- DECLSPEC_XFGVIRT(ID3D12Device8, GetResourceAllocationInfo2)
- #if !defined(_WIN32)
- D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo2 )(
- ID3D12Device10 * This,
- UINT visibleMask,
- UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC1 *pResourceDescs,
- _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1);
-
- #else
- D3D12_RESOURCE_ALLOCATION_INFO *( STDMETHODCALLTYPE *GetResourceAllocationInfo2 )(
- ID3D12Device10 * This,
- D3D12_RESOURCE_ALLOCATION_INFO * RetVal,
- UINT visibleMask,
- UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC1 *pResourceDescs,
- _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1);
-
- #endif
-
- DECLSPEC_XFGVIRT(ID3D12Device8, CreateCommittedResource2)
- HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource2 )(
- ID3D12Device10 * This,
- _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties,
- D3D12_HEAP_FLAGS HeapFlags,
- _In_ const D3D12_RESOURCE_DESC1 *pDesc,
- D3D12_RESOURCE_STATES InitialResourceState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
- REFIID riidResource,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device8, CreatePlacedResource1)
- HRESULT ( STDMETHODCALLTYPE *CreatePlacedResource1 )(
- ID3D12Device10 * This,
- _In_ ID3D12Heap *pHeap,
- UINT64 HeapOffset,
- _In_ const D3D12_RESOURCE_DESC1 *pDesc,
- D3D12_RESOURCE_STATES InitialState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device8, CreateSamplerFeedbackUnorderedAccessView)
- void ( STDMETHODCALLTYPE *CreateSamplerFeedbackUnorderedAccessView )(
- ID3D12Device10 * This,
- _In_opt_ ID3D12Resource *pTargetedResource,
- _In_opt_ ID3D12Resource *pFeedbackResource,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device8, GetCopyableFootprints1)
- void ( STDMETHODCALLTYPE *GetCopyableFootprints1 )(
- ID3D12Device10 * This,
- _In_ const D3D12_RESOURCE_DESC1 *pResourceDesc,
- _In_range_(0,D3D12_REQ_SUBRESOURCES) UINT FirstSubresource,
- _In_range_(0,D3D12_REQ_SUBRESOURCES-FirstSubresource) UINT NumSubresources,
- UINT64 BaseOffset,
- _Out_writes_opt_(NumSubresources) D3D12_PLACED_SUBRESOURCE_FOOTPRINT *pLayouts,
- _Out_writes_opt_(NumSubresources) UINT *pNumRows,
- _Out_writes_opt_(NumSubresources) UINT64 *pRowSizeInBytes,
- _Out_opt_ UINT64 *pTotalBytes);
-
- DECLSPEC_XFGVIRT(ID3D12Device9, CreateShaderCacheSession)
- HRESULT ( STDMETHODCALLTYPE *CreateShaderCacheSession )(
- ID3D12Device10 * This,
- _In_ const D3D12_SHADER_CACHE_SESSION_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvSession);
-
- DECLSPEC_XFGVIRT(ID3D12Device9, ShaderCacheControl)
- HRESULT ( STDMETHODCALLTYPE *ShaderCacheControl )(
- ID3D12Device10 * This,
- D3D12_SHADER_CACHE_KIND_FLAGS Kinds,
- D3D12_SHADER_CACHE_CONTROL_FLAGS Control);
-
- DECLSPEC_XFGVIRT(ID3D12Device9, CreateCommandQueue1)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandQueue1 )(
- ID3D12Device10 * This,
- _In_ const D3D12_COMMAND_QUEUE_DESC *pDesc,
- REFIID CreatorID,
- REFIID riid,
- _COM_Outptr_ void **ppCommandQueue);
-
- DECLSPEC_XFGVIRT(ID3D12Device10, CreateCommittedResource3)
- HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource3 )(
- ID3D12Device10 * This,
- _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties,
- D3D12_HEAP_FLAGS HeapFlags,
- _In_ const D3D12_RESOURCE_DESC1 *pDesc,
- D3D12_BARRIER_LAYOUT InitialLayout,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
- UINT32 NumCastableFormats,
- _In_opt_count_(NumCastableFormats) const DXGI_FORMAT *pCastableFormats,
- REFIID riidResource,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device10, CreatePlacedResource2)
- HRESULT ( STDMETHODCALLTYPE *CreatePlacedResource2 )(
- ID3D12Device10 * This,
- _In_ ID3D12Heap *pHeap,
- UINT64 HeapOffset,
- _In_ const D3D12_RESOURCE_DESC1 *pDesc,
- D3D12_BARRIER_LAYOUT InitialLayout,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- UINT32 NumCastableFormats,
- _In_opt_count_(NumCastableFormats) const DXGI_FORMAT *pCastableFormats,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device10, CreateReservedResource2)
- HRESULT ( STDMETHODCALLTYPE *CreateReservedResource2 )(
- ID3D12Device10 * This,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_BARRIER_LAYOUT InitialLayout,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
- UINT32 NumCastableFormats,
- _In_opt_count_(NumCastableFormats) const DXGI_FORMAT *pCastableFormats,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvResource);
-
- END_INTERFACE
- } ID3D12Device10Vtbl;
- interface ID3D12Device10
- {
- CONST_VTBL struct ID3D12Device10Vtbl *lpVtbl;
- };
-
- #ifdef COBJMACROS
- #define ID3D12Device10_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define ID3D12Device10_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define ID3D12Device10_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #define ID3D12Device10_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
- #define ID3D12Device10_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
- #define ID3D12Device10_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
- #define ID3D12Device10_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
- #define ID3D12Device10_GetNodeCount(This) \
- ( (This)->lpVtbl -> GetNodeCount(This) )
- #define ID3D12Device10_CreateCommandQueue(This,pDesc,riid,ppCommandQueue) \
- ( (This)->lpVtbl -> CreateCommandQueue(This,pDesc,riid,ppCommandQueue) )
- #define ID3D12Device10_CreateCommandAllocator(This,type,riid,ppCommandAllocator) \
- ( (This)->lpVtbl -> CreateCommandAllocator(This,type,riid,ppCommandAllocator) )
- #define ID3D12Device10_CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) \
- ( (This)->lpVtbl -> CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) )
- #define ID3D12Device10_CreateComputePipelineState(This,pDesc,riid,ppPipelineState) \
- ( (This)->lpVtbl -> CreateComputePipelineState(This,pDesc,riid,ppPipelineState) )
- #define ID3D12Device10_CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) \
- ( (This)->lpVtbl -> CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) )
- #define ID3D12Device10_CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) \
- ( (This)->lpVtbl -> CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) )
- #define ID3D12Device10_CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) \
- ( (This)->lpVtbl -> CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) )
- #define ID3D12Device10_GetDescriptorHandleIncrementSize(This,DescriptorHeapType) \
- ( (This)->lpVtbl -> GetDescriptorHandleIncrementSize(This,DescriptorHeapType) )
- #define ID3D12Device10_CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) \
- ( (This)->lpVtbl -> CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) )
- #define ID3D12Device10_CreateConstantBufferView(This,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateConstantBufferView(This,pDesc,DestDescriptor) )
- #define ID3D12Device10_CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) )
- #define ID3D12Device10_CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) )
- #define ID3D12Device10_CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) )
- #define ID3D12Device10_CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) )
- #define ID3D12Device10_CreateSampler(This,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateSampler(This,pDesc,DestDescriptor) )
- #define ID3D12Device10_CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) \
- ( (This)->lpVtbl -> CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) )
- #define ID3D12Device10_CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) \
- ( (This)->lpVtbl -> CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) )
- #if !defined(_WIN32)
- #define ID3D12Device10_GetResourceAllocationInfo(This,visibleMask,numResourceDescs,pResourceDescs) \
- ( (This)->lpVtbl -> GetResourceAllocationInfo(This,visibleMask,numResourceDescs,pResourceDescs) )
- #else
- #define ID3D12Device10_GetResourceAllocationInfo(This,RetVal,visibleMask,numResourceDescs,pResourceDescs) \
- ( (This)->lpVtbl -> GetResourceAllocationInfo(This,RetVal,visibleMask,numResourceDescs,pResourceDescs) )
- #endif
- #if !defined(_WIN32)
- #define ID3D12Device10_GetCustomHeapProperties(This,nodeMask,heapType) \
- ( (This)->lpVtbl -> GetCustomHeapProperties(This,nodeMask,heapType) )
- #else
- #define ID3D12Device10_GetCustomHeapProperties(This,RetVal,nodeMask,heapType) \
- ( (This)->lpVtbl -> GetCustomHeapProperties(This,RetVal,nodeMask,heapType) )
- #endif
- #define ID3D12Device10_CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) \
- ( (This)->lpVtbl -> CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) )
- #define ID3D12Device10_CreateHeap(This,pDesc,riid,ppvHeap) \
- ( (This)->lpVtbl -> CreateHeap(This,pDesc,riid,ppvHeap) )
- #define ID3D12Device10_CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
- ( (This)->lpVtbl -> CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
- #define ID3D12Device10_CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
- ( (This)->lpVtbl -> CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
- #define ID3D12Device10_CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) \
- ( (This)->lpVtbl -> CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) )
- #define ID3D12Device10_OpenSharedHandle(This,NTHandle,riid,ppvObj) \
- ( (This)->lpVtbl -> OpenSharedHandle(This,NTHandle,riid,ppvObj) )
- #define ID3D12Device10_OpenSharedHandleByName(This,Name,Access,pNTHandle) \
- ( (This)->lpVtbl -> OpenSharedHandleByName(This,Name,Access,pNTHandle) )
- #define ID3D12Device10_MakeResident(This,NumObjects,ppObjects) \
- ( (This)->lpVtbl -> MakeResident(This,NumObjects,ppObjects) )
- #define ID3D12Device10_Evict(This,NumObjects,ppObjects) \
- ( (This)->lpVtbl -> Evict(This,NumObjects,ppObjects) )
- #define ID3D12Device10_CreateFence(This,InitialValue,Flags,riid,ppFence) \
- ( (This)->lpVtbl -> CreateFence(This,InitialValue,Flags,riid,ppFence) )
- #define ID3D12Device10_GetDeviceRemovedReason(This) \
- ( (This)->lpVtbl -> GetDeviceRemovedReason(This) )
- #define ID3D12Device10_GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) \
- ( (This)->lpVtbl -> GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) )
- #define ID3D12Device10_CreateQueryHeap(This,pDesc,riid,ppvHeap) \
- ( (This)->lpVtbl -> CreateQueryHeap(This,pDesc,riid,ppvHeap) )
- #define ID3D12Device10_SetStablePowerState(This,Enable) \
- ( (This)->lpVtbl -> SetStablePowerState(This,Enable) )
- #define ID3D12Device10_CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) \
- ( (This)->lpVtbl -> CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) )
- #define ID3D12Device10_GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) \
- ( (This)->lpVtbl -> GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) )
- #if !defined(_WIN32)
- #define ID3D12Device10_GetAdapterLuid(This) \
- ( (This)->lpVtbl -> GetAdapterLuid(This) )
- #else
- #define ID3D12Device10_GetAdapterLuid(This,RetVal) \
- ( (This)->lpVtbl -> GetAdapterLuid(This,RetVal) )
- #endif
- #define ID3D12Device10_CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) \
- ( (This)->lpVtbl -> CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) )
- #define ID3D12Device10_SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) \
- ( (This)->lpVtbl -> SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) )
- #define ID3D12Device10_SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) \
- ( (This)->lpVtbl -> SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) )
- #define ID3D12Device10_CreatePipelineState(This,pDesc,riid,ppPipelineState) \
- ( (This)->lpVtbl -> CreatePipelineState(This,pDesc,riid,ppPipelineState) )
- #define ID3D12Device10_OpenExistingHeapFromAddress(This,pAddress,riid,ppvHeap) \
- ( (This)->lpVtbl -> OpenExistingHeapFromAddress(This,pAddress,riid,ppvHeap) )
- #define ID3D12Device10_OpenExistingHeapFromFileMapping(This,hFileMapping,riid,ppvHeap) \
- ( (This)->lpVtbl -> OpenExistingHeapFromFileMapping(This,hFileMapping,riid,ppvHeap) )
- #define ID3D12Device10_EnqueueMakeResident(This,Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) \
- ( (This)->lpVtbl -> EnqueueMakeResident(This,Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) )
- #define ID3D12Device10_CreateCommandList1(This,nodeMask,type,flags,riid,ppCommandList) \
- ( (This)->lpVtbl -> CreateCommandList1(This,nodeMask,type,flags,riid,ppCommandList) )
- #define ID3D12Device10_CreateProtectedResourceSession(This,pDesc,riid,ppSession) \
- ( (This)->lpVtbl -> CreateProtectedResourceSession(This,pDesc,riid,ppSession) )
- #define ID3D12Device10_CreateCommittedResource1(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) \
- ( (This)->lpVtbl -> CreateCommittedResource1(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) )
- #define ID3D12Device10_CreateHeap1(This,pDesc,pProtectedSession,riid,ppvHeap) \
- ( (This)->lpVtbl -> CreateHeap1(This,pDesc,pProtectedSession,riid,ppvHeap) )
- #define ID3D12Device10_CreateReservedResource1(This,pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) \
- ( (This)->lpVtbl -> CreateReservedResource1(This,pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) )
- #if !defined(_WIN32)
- #define ID3D12Device10_GetResourceAllocationInfo1(This,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) \
- ( (This)->lpVtbl -> GetResourceAllocationInfo1(This,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) )
- #else
- #define ID3D12Device10_GetResourceAllocationInfo1(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) \
- ( (This)->lpVtbl -> GetResourceAllocationInfo1(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) )
- #endif
- #define ID3D12Device10_CreateLifetimeTracker(This,pOwner,riid,ppvTracker) \
- ( (This)->lpVtbl -> CreateLifetimeTracker(This,pOwner,riid,ppvTracker) )
- #define ID3D12Device10_RemoveDevice(This) \
- ( (This)->lpVtbl -> RemoveDevice(This) )
- #define ID3D12Device10_EnumerateMetaCommands(This,pNumMetaCommands,pDescs) \
- ( (This)->lpVtbl -> EnumerateMetaCommands(This,pNumMetaCommands,pDescs) )
- #define ID3D12Device10_EnumerateMetaCommandParameters(This,CommandId,Stage,pTotalStructureSizeInBytes,pParameterCount,pParameterDescs) \
- ( (This)->lpVtbl -> EnumerateMetaCommandParameters(This,CommandId,Stage,pTotalStructureSizeInBytes,pParameterCount,pParameterDescs) )
- #define ID3D12Device10_CreateMetaCommand(This,CommandId,NodeMask,pCreationParametersData,CreationParametersDataSizeInBytes,riid,ppMetaCommand) \
- ( (This)->lpVtbl -> CreateMetaCommand(This,CommandId,NodeMask,pCreationParametersData,CreationParametersDataSizeInBytes,riid,ppMetaCommand) )
- #define ID3D12Device10_CreateStateObject(This,pDesc,riid,ppStateObject) \
- ( (This)->lpVtbl -> CreateStateObject(This,pDesc,riid,ppStateObject) )
- #define ID3D12Device10_GetRaytracingAccelerationStructurePrebuildInfo(This,pDesc,pInfo) \
- ( (This)->lpVtbl -> GetRaytracingAccelerationStructurePrebuildInfo(This,pDesc,pInfo) )
- #define ID3D12Device10_CheckDriverMatchingIdentifier(This,SerializedDataType,pIdentifierToCheck) \
- ( (This)->lpVtbl -> CheckDriverMatchingIdentifier(This,SerializedDataType,pIdentifierToCheck) )
- #define ID3D12Device10_SetBackgroundProcessingMode(This,Mode,MeasurementsAction,hEventToSignalUponCompletion,pbFurtherMeasurementsDesired) \
- ( (This)->lpVtbl -> SetBackgroundProcessingMode(This,Mode,MeasurementsAction,hEventToSignalUponCompletion,pbFurtherMeasurementsDesired) )
- #define ID3D12Device10_AddToStateObject(This,pAddition,pStateObjectToGrowFrom,riid,ppNewStateObject) \
- ( (This)->lpVtbl -> AddToStateObject(This,pAddition,pStateObjectToGrowFrom,riid,ppNewStateObject) )
- #define ID3D12Device10_CreateProtectedResourceSession1(This,pDesc,riid,ppSession) \
- ( (This)->lpVtbl -> CreateProtectedResourceSession1(This,pDesc,riid,ppSession) )
- #if !defined(_WIN32)
- #define ID3D12Device10_GetResourceAllocationInfo2(This,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) \
- ( (This)->lpVtbl -> GetResourceAllocationInfo2(This,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) )
- #else
- #define ID3D12Device10_GetResourceAllocationInfo2(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) \
- ( (This)->lpVtbl -> GetResourceAllocationInfo2(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) )
- #endif
- #define ID3D12Device10_CreateCommittedResource2(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) \
- ( (This)->lpVtbl -> CreateCommittedResource2(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) )
- #define ID3D12Device10_CreatePlacedResource1(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
- ( (This)->lpVtbl -> CreatePlacedResource1(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
- #define ID3D12Device10_CreateSamplerFeedbackUnorderedAccessView(This,pTargetedResource,pFeedbackResource,DestDescriptor) \
- ( (This)->lpVtbl -> CreateSamplerFeedbackUnorderedAccessView(This,pTargetedResource,pFeedbackResource,DestDescriptor) )
- #define ID3D12Device10_GetCopyableFootprints1(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) \
- ( (This)->lpVtbl -> GetCopyableFootprints1(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) )
- #define ID3D12Device10_CreateShaderCacheSession(This,pDesc,riid,ppvSession) \
- ( (This)->lpVtbl -> CreateShaderCacheSession(This,pDesc,riid,ppvSession) )
- #define ID3D12Device10_ShaderCacheControl(This,Kinds,Control) \
- ( (This)->lpVtbl -> ShaderCacheControl(This,Kinds,Control) )
- #define ID3D12Device10_CreateCommandQueue1(This,pDesc,CreatorID,riid,ppCommandQueue) \
- ( (This)->lpVtbl -> CreateCommandQueue1(This,pDesc,CreatorID,riid,ppCommandQueue) )
- #define ID3D12Device10_CreateCommittedResource3(This,pHeapProperties,HeapFlags,pDesc,InitialLayout,pOptimizedClearValue,pProtectedSession,NumCastableFormats,pCastableFormats,riidResource,ppvResource) \
- ( (This)->lpVtbl -> CreateCommittedResource3(This,pHeapProperties,HeapFlags,pDesc,InitialLayout,pOptimizedClearValue,pProtectedSession,NumCastableFormats,pCastableFormats,riidResource,ppvResource) )
- #define ID3D12Device10_CreatePlacedResource2(This,pHeap,HeapOffset,pDesc,InitialLayout,pOptimizedClearValue,NumCastableFormats,pCastableFormats,riid,ppvResource) \
- ( (This)->lpVtbl -> CreatePlacedResource2(This,pHeap,HeapOffset,pDesc,InitialLayout,pOptimizedClearValue,NumCastableFormats,pCastableFormats,riid,ppvResource) )
- #define ID3D12Device10_CreateReservedResource2(This,pDesc,InitialLayout,pOptimizedClearValue,pProtectedSession,NumCastableFormats,pCastableFormats,riid,ppvResource) \
- ( (This)->lpVtbl -> CreateReservedResource2(This,pDesc,InitialLayout,pOptimizedClearValue,pProtectedSession,NumCastableFormats,pCastableFormats,riid,ppvResource) )
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __ID3D12Device10_INTERFACE_DEFINED__ */
- #ifndef __ID3D12Device11_INTERFACE_DEFINED__
- #define __ID3D12Device11_INTERFACE_DEFINED__
- /* interface ID3D12Device11 */
- /* [unique][local][object][uuid] */
- EXTERN_C const IID IID_ID3D12Device11;
- #if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("5405c344-d457-444e-b4dd-2366e45aee39")
- ID3D12Device11 : public ID3D12Device10
- {
- public:
- virtual void STDMETHODCALLTYPE CreateSampler2(
- _In_ const D3D12_SAMPLER_DESC2 *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor) = 0;
-
- };
-
-
- #else /* C style interface */
- typedef struct ID3D12Device11Vtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12Device11 * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12Device11 * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12Device11 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12Device11 * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12Device11 * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12Device11 * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetName)
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12Device11 * This,
- _In_z_ LPCWSTR Name);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetNodeCount)
- UINT ( STDMETHODCALLTYPE *GetNodeCount )(
- ID3D12Device11 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandQueue)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandQueue )(
- ID3D12Device11 * This,
- _In_ const D3D12_COMMAND_QUEUE_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppCommandQueue);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandAllocator)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandAllocator )(
- ID3D12Device11 * This,
- _In_ D3D12_COMMAND_LIST_TYPE type,
- REFIID riid,
- _COM_Outptr_ void **ppCommandAllocator);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateGraphicsPipelineState)
- HRESULT ( STDMETHODCALLTYPE *CreateGraphicsPipelineState )(
- ID3D12Device11 * This,
- _In_ const D3D12_GRAPHICS_PIPELINE_STATE_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineState);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateComputePipelineState)
- HRESULT ( STDMETHODCALLTYPE *CreateComputePipelineState )(
- ID3D12Device11 * This,
- _In_ const D3D12_COMPUTE_PIPELINE_STATE_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineState);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandList)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandList )(
- ID3D12Device11 * This,
- _In_ UINT nodeMask,
- _In_ D3D12_COMMAND_LIST_TYPE type,
- _In_ ID3D12CommandAllocator *pCommandAllocator,
- _In_opt_ ID3D12PipelineState *pInitialState,
- REFIID riid,
- _COM_Outptr_ void **ppCommandList);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CheckFeatureSupport)
- HRESULT ( STDMETHODCALLTYPE *CheckFeatureSupport )(
- ID3D12Device11 * This,
- D3D12_FEATURE Feature,
- _Inout_updates_bytes_(FeatureSupportDataSize) void *pFeatureSupportData,
- UINT FeatureSupportDataSize);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateDescriptorHeap)
- HRESULT ( STDMETHODCALLTYPE *CreateDescriptorHeap )(
- ID3D12Device11 * This,
- _In_ const D3D12_DESCRIPTOR_HEAP_DESC *pDescriptorHeapDesc,
- REFIID riid,
- _COM_Outptr_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetDescriptorHandleIncrementSize)
- UINT ( STDMETHODCALLTYPE *GetDescriptorHandleIncrementSize )(
- ID3D12Device11 * This,
- _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapType);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateRootSignature)
- HRESULT ( STDMETHODCALLTYPE *CreateRootSignature )(
- ID3D12Device11 * This,
- _In_ UINT nodeMask,
- _In_reads_(blobLengthInBytes) const void *pBlobWithRootSignature,
- _In_ SIZE_T blobLengthInBytes,
- REFIID riid,
- _COM_Outptr_ void **ppvRootSignature);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateConstantBufferView)
- void ( STDMETHODCALLTYPE *CreateConstantBufferView )(
- ID3D12Device11 * This,
- _In_opt_ const D3D12_CONSTANT_BUFFER_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateShaderResourceView)
- void ( STDMETHODCALLTYPE *CreateShaderResourceView )(
- ID3D12Device11 * This,
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_SHADER_RESOURCE_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateUnorderedAccessView)
- void ( STDMETHODCALLTYPE *CreateUnorderedAccessView )(
- ID3D12Device11 * This,
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ ID3D12Resource *pCounterResource,
- _In_opt_ const D3D12_UNORDERED_ACCESS_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateRenderTargetView)
- void ( STDMETHODCALLTYPE *CreateRenderTargetView )(
- ID3D12Device11 * This,
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_RENDER_TARGET_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateDepthStencilView)
- void ( STDMETHODCALLTYPE *CreateDepthStencilView )(
- ID3D12Device11 * This,
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_DEPTH_STENCIL_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateSampler)
- void ( STDMETHODCALLTYPE *CreateSampler )(
- ID3D12Device11 * This,
- _In_ const D3D12_SAMPLER_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CopyDescriptors)
- void ( STDMETHODCALLTYPE *CopyDescriptors )(
- ID3D12Device11 * This,
- _In_ UINT NumDestDescriptorRanges,
- _In_reads_(NumDestDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pDestDescriptorRangeStarts,
- _In_reads_opt_(NumDestDescriptorRanges) const UINT *pDestDescriptorRangeSizes,
- _In_ UINT NumSrcDescriptorRanges,
- _In_reads_(NumSrcDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pSrcDescriptorRangeStarts,
- _In_reads_opt_(NumSrcDescriptorRanges) const UINT *pSrcDescriptorRangeSizes,
- _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CopyDescriptorsSimple)
- void ( STDMETHODCALLTYPE *CopyDescriptorsSimple )(
- ID3D12Device11 * This,
- _In_ UINT NumDescriptors,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptorRangeStart,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE SrcDescriptorRangeStart,
- _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetResourceAllocationInfo)
- #if !defined(_WIN32)
- D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo )(
- ID3D12Device11 * This,
- _In_ UINT visibleMask,
- _In_ UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs);
-
- #else
- D3D12_RESOURCE_ALLOCATION_INFO *( STDMETHODCALLTYPE *GetResourceAllocationInfo )(
- ID3D12Device11 * This,
- D3D12_RESOURCE_ALLOCATION_INFO * RetVal,
- _In_ UINT visibleMask,
- _In_ UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs);
-
- #endif
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetCustomHeapProperties)
- #if !defined(_WIN32)
- D3D12_HEAP_PROPERTIES ( STDMETHODCALLTYPE *GetCustomHeapProperties )(
- ID3D12Device11 * This,
- _In_ UINT nodeMask,
- D3D12_HEAP_TYPE heapType);
-
- #else
- D3D12_HEAP_PROPERTIES *( STDMETHODCALLTYPE *GetCustomHeapProperties )(
- ID3D12Device11 * This,
- D3D12_HEAP_PROPERTIES * RetVal,
- _In_ UINT nodeMask,
- D3D12_HEAP_TYPE heapType);
-
- #endif
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommittedResource)
- HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource )(
- ID3D12Device11 * This,
- _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties,
- D3D12_HEAP_FLAGS HeapFlags,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialResourceState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- REFIID riidResource,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateHeap)
- HRESULT ( STDMETHODCALLTYPE *CreateHeap )(
- ID3D12Device11 * This,
- _In_ const D3D12_HEAP_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreatePlacedResource)
- HRESULT ( STDMETHODCALLTYPE *CreatePlacedResource )(
- ID3D12Device11 * This,
- _In_ ID3D12Heap *pHeap,
- UINT64 HeapOffset,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateReservedResource)
- HRESULT ( STDMETHODCALLTYPE *CreateReservedResource )(
- ID3D12Device11 * This,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateSharedHandle)
- HRESULT ( STDMETHODCALLTYPE *CreateSharedHandle )(
- ID3D12Device11 * This,
- _In_ ID3D12DeviceChild *pObject,
- _In_opt_ const SECURITY_ATTRIBUTES *pAttributes,
- DWORD Access,
- _In_opt_ LPCWSTR Name,
- _Out_ HANDLE *pHandle);
-
- DECLSPEC_XFGVIRT(ID3D12Device, OpenSharedHandle)
- HRESULT ( STDMETHODCALLTYPE *OpenSharedHandle )(
- ID3D12Device11 * This,
- _In_ HANDLE NTHandle,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvObj);
-
- DECLSPEC_XFGVIRT(ID3D12Device, OpenSharedHandleByName)
- HRESULT ( STDMETHODCALLTYPE *OpenSharedHandleByName )(
- ID3D12Device11 * This,
- _In_ LPCWSTR Name,
- DWORD Access,
- /* [annotation][out] */
- _Out_ HANDLE *pNTHandle);
-
- DECLSPEC_XFGVIRT(ID3D12Device, MakeResident)
- HRESULT ( STDMETHODCALLTYPE *MakeResident )(
- ID3D12Device11 * This,
- UINT NumObjects,
- _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects);
-
- DECLSPEC_XFGVIRT(ID3D12Device, Evict)
- HRESULT ( STDMETHODCALLTYPE *Evict )(
- ID3D12Device11 * This,
- UINT NumObjects,
- _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateFence)
- HRESULT ( STDMETHODCALLTYPE *CreateFence )(
- ID3D12Device11 * This,
- UINT64 InitialValue,
- D3D12_FENCE_FLAGS Flags,
- REFIID riid,
- _COM_Outptr_ void **ppFence);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetDeviceRemovedReason)
- HRESULT ( STDMETHODCALLTYPE *GetDeviceRemovedReason )(
- ID3D12Device11 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetCopyableFootprints)
- void ( STDMETHODCALLTYPE *GetCopyableFootprints )(
- ID3D12Device11 * This,
- _In_ const D3D12_RESOURCE_DESC *pResourceDesc,
- _In_range_(0,D3D12_REQ_SUBRESOURCES) UINT FirstSubresource,
- _In_range_(0,D3D12_REQ_SUBRESOURCES-FirstSubresource) UINT NumSubresources,
- UINT64 BaseOffset,
- _Out_writes_opt_(NumSubresources) D3D12_PLACED_SUBRESOURCE_FOOTPRINT *pLayouts,
- _Out_writes_opt_(NumSubresources) UINT *pNumRows,
- _Out_writes_opt_(NumSubresources) UINT64 *pRowSizeInBytes,
- _Out_opt_ UINT64 *pTotalBytes);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateQueryHeap)
- HRESULT ( STDMETHODCALLTYPE *CreateQueryHeap )(
- ID3D12Device11 * This,
- _In_ const D3D12_QUERY_HEAP_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device, SetStablePowerState)
- HRESULT ( STDMETHODCALLTYPE *SetStablePowerState )(
- ID3D12Device11 * This,
- BOOL Enable);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandSignature)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandSignature )(
- ID3D12Device11 * This,
- _In_ const D3D12_COMMAND_SIGNATURE_DESC *pDesc,
- _In_opt_ ID3D12RootSignature *pRootSignature,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvCommandSignature);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetResourceTiling)
- void ( STDMETHODCALLTYPE *GetResourceTiling )(
- ID3D12Device11 * This,
- _In_ ID3D12Resource *pTiledResource,
- _Out_opt_ UINT *pNumTilesForEntireResource,
- _Out_opt_ D3D12_PACKED_MIP_INFO *pPackedMipDesc,
- _Out_opt_ D3D12_TILE_SHAPE *pStandardTileShapeForNonPackedMips,
- _Inout_opt_ UINT *pNumSubresourceTilings,
- _In_ UINT FirstSubresourceTilingToGet,
- _Out_writes_(*pNumSubresourceTilings) D3D12_SUBRESOURCE_TILING *pSubresourceTilingsForNonPackedMips);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetAdapterLuid)
- #if !defined(_WIN32)
- LUID ( STDMETHODCALLTYPE *GetAdapterLuid )(
- ID3D12Device11 * This);
-
- #else
- LUID *( STDMETHODCALLTYPE *GetAdapterLuid )(
- ID3D12Device11 * This,
- LUID * RetVal);
-
- #endif
-
- DECLSPEC_XFGVIRT(ID3D12Device1, CreatePipelineLibrary)
- HRESULT ( STDMETHODCALLTYPE *CreatePipelineLibrary )(
- ID3D12Device11 * This,
- _In_reads_(BlobLength) const void *pLibraryBlob,
- SIZE_T BlobLength,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineLibrary);
-
- DECLSPEC_XFGVIRT(ID3D12Device1, SetEventOnMultipleFenceCompletion)
- HRESULT ( STDMETHODCALLTYPE *SetEventOnMultipleFenceCompletion )(
- ID3D12Device11 * This,
- _In_reads_(NumFences) ID3D12Fence *const *ppFences,
- _In_reads_(NumFences) const UINT64 *pFenceValues,
- UINT NumFences,
- D3D12_MULTIPLE_FENCE_WAIT_FLAGS Flags,
- HANDLE hEvent);
-
- DECLSPEC_XFGVIRT(ID3D12Device1, SetResidencyPriority)
- HRESULT ( STDMETHODCALLTYPE *SetResidencyPriority )(
- ID3D12Device11 * This,
- UINT NumObjects,
- _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects,
- _In_reads_(NumObjects) const D3D12_RESIDENCY_PRIORITY *pPriorities);
-
- DECLSPEC_XFGVIRT(ID3D12Device2, CreatePipelineState)
- HRESULT ( STDMETHODCALLTYPE *CreatePipelineState )(
- ID3D12Device11 * This,
- const D3D12_PIPELINE_STATE_STREAM_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineState);
-
- DECLSPEC_XFGVIRT(ID3D12Device3, OpenExistingHeapFromAddress)
- HRESULT ( STDMETHODCALLTYPE *OpenExistingHeapFromAddress )(
- ID3D12Device11 * This,
- _In_ const void *pAddress,
- REFIID riid,
- _COM_Outptr_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device3, OpenExistingHeapFromFileMapping)
- HRESULT ( STDMETHODCALLTYPE *OpenExistingHeapFromFileMapping )(
- ID3D12Device11 * This,
- _In_ HANDLE hFileMapping,
- REFIID riid,
- _COM_Outptr_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device3, EnqueueMakeResident)
- HRESULT ( STDMETHODCALLTYPE *EnqueueMakeResident )(
- ID3D12Device11 * This,
- D3D12_RESIDENCY_FLAGS Flags,
- UINT NumObjects,
- _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects,
- _In_ ID3D12Fence *pFenceToSignal,
- UINT64 FenceValueToSignal);
-
- DECLSPEC_XFGVIRT(ID3D12Device4, CreateCommandList1)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandList1 )(
- ID3D12Device11 * This,
- _In_ UINT nodeMask,
- _In_ D3D12_COMMAND_LIST_TYPE type,
- _In_ D3D12_COMMAND_LIST_FLAGS flags,
- REFIID riid,
- _COM_Outptr_ void **ppCommandList);
-
- DECLSPEC_XFGVIRT(ID3D12Device4, CreateProtectedResourceSession)
- HRESULT ( STDMETHODCALLTYPE *CreateProtectedResourceSession )(
- ID3D12Device11 * This,
- _In_ const D3D12_PROTECTED_RESOURCE_SESSION_DESC *pDesc,
- _In_ REFIID riid,
- _COM_Outptr_ void **ppSession);
-
- DECLSPEC_XFGVIRT(ID3D12Device4, CreateCommittedResource1)
- HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource1 )(
- ID3D12Device11 * This,
- _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties,
- D3D12_HEAP_FLAGS HeapFlags,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialResourceState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
- REFIID riidResource,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device4, CreateHeap1)
- HRESULT ( STDMETHODCALLTYPE *CreateHeap1 )(
- ID3D12Device11 * This,
- _In_ const D3D12_HEAP_DESC *pDesc,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device4, CreateReservedResource1)
- HRESULT ( STDMETHODCALLTYPE *CreateReservedResource1 )(
- ID3D12Device11 * This,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device4, GetResourceAllocationInfo1)
- #if !defined(_WIN32)
- D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo1 )(
- ID3D12Device11 * This,
- UINT visibleMask,
- UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs,
- _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1);
-
- #else
- D3D12_RESOURCE_ALLOCATION_INFO *( STDMETHODCALLTYPE *GetResourceAllocationInfo1 )(
- ID3D12Device11 * This,
- D3D12_RESOURCE_ALLOCATION_INFO * RetVal,
- UINT visibleMask,
- UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs,
- _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1);
-
- #endif
-
- DECLSPEC_XFGVIRT(ID3D12Device5, CreateLifetimeTracker)
- HRESULT ( STDMETHODCALLTYPE *CreateLifetimeTracker )(
- ID3D12Device11 * This,
- _In_ ID3D12LifetimeOwner *pOwner,
- REFIID riid,
- _COM_Outptr_ void **ppvTracker);
-
- DECLSPEC_XFGVIRT(ID3D12Device5, RemoveDevice)
- void ( STDMETHODCALLTYPE *RemoveDevice )(
- ID3D12Device11 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Device5, EnumerateMetaCommands)
- HRESULT ( STDMETHODCALLTYPE *EnumerateMetaCommands )(
- ID3D12Device11 * This,
- _Inout_ UINT *pNumMetaCommands,
- _Out_writes_opt_(*pNumMetaCommands) D3D12_META_COMMAND_DESC *pDescs);
-
- DECLSPEC_XFGVIRT(ID3D12Device5, EnumerateMetaCommandParameters)
- HRESULT ( STDMETHODCALLTYPE *EnumerateMetaCommandParameters )(
- ID3D12Device11 * This,
- _In_ REFGUID CommandId,
- _In_ D3D12_META_COMMAND_PARAMETER_STAGE Stage,
- _Out_opt_ UINT *pTotalStructureSizeInBytes,
- _Inout_ UINT *pParameterCount,
- _Out_writes_opt_(*pParameterCount) D3D12_META_COMMAND_PARAMETER_DESC *pParameterDescs);
-
- DECLSPEC_XFGVIRT(ID3D12Device5, CreateMetaCommand)
- HRESULT ( STDMETHODCALLTYPE *CreateMetaCommand )(
- ID3D12Device11 * This,
- _In_ REFGUID CommandId,
- _In_ UINT NodeMask,
- _In_reads_bytes_opt_(CreationParametersDataSizeInBytes) const void *pCreationParametersData,
- _In_ SIZE_T CreationParametersDataSizeInBytes,
- REFIID riid,
- _COM_Outptr_ void **ppMetaCommand);
-
- DECLSPEC_XFGVIRT(ID3D12Device5, CreateStateObject)
- HRESULT ( STDMETHODCALLTYPE *CreateStateObject )(
- ID3D12Device11 * This,
- const D3D12_STATE_OBJECT_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppStateObject);
-
- DECLSPEC_XFGVIRT(ID3D12Device5, GetRaytracingAccelerationStructurePrebuildInfo)
- void ( STDMETHODCALLTYPE *GetRaytracingAccelerationStructurePrebuildInfo )(
- ID3D12Device11 * This,
- _In_ const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS *pDesc,
- _Out_ D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO *pInfo);
-
- DECLSPEC_XFGVIRT(ID3D12Device5, CheckDriverMatchingIdentifier)
- D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS ( STDMETHODCALLTYPE *CheckDriverMatchingIdentifier )(
- ID3D12Device11 * This,
- _In_ D3D12_SERIALIZED_DATA_TYPE SerializedDataType,
- _In_ const D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER *pIdentifierToCheck);
-
- DECLSPEC_XFGVIRT(ID3D12Device6, SetBackgroundProcessingMode)
- HRESULT ( STDMETHODCALLTYPE *SetBackgroundProcessingMode )(
- ID3D12Device11 * This,
- D3D12_BACKGROUND_PROCESSING_MODE Mode,
- D3D12_MEASUREMENTS_ACTION MeasurementsAction,
- _In_opt_ HANDLE hEventToSignalUponCompletion,
- _Out_opt_ BOOL *pbFurtherMeasurementsDesired);
-
- DECLSPEC_XFGVIRT(ID3D12Device7, AddToStateObject)
- HRESULT ( STDMETHODCALLTYPE *AddToStateObject )(
- ID3D12Device11 * This,
- const D3D12_STATE_OBJECT_DESC *pAddition,
- ID3D12StateObject *pStateObjectToGrowFrom,
- REFIID riid,
- _COM_Outptr_ void **ppNewStateObject);
-
- DECLSPEC_XFGVIRT(ID3D12Device7, CreateProtectedResourceSession1)
- HRESULT ( STDMETHODCALLTYPE *CreateProtectedResourceSession1 )(
- ID3D12Device11 * This,
- _In_ const D3D12_PROTECTED_RESOURCE_SESSION_DESC1 *pDesc,
- _In_ REFIID riid,
- _COM_Outptr_ void **ppSession);
-
- DECLSPEC_XFGVIRT(ID3D12Device8, GetResourceAllocationInfo2)
- #if !defined(_WIN32)
- D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo2 )(
- ID3D12Device11 * This,
- UINT visibleMask,
- UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC1 *pResourceDescs,
- _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1);
-
- #else
- D3D12_RESOURCE_ALLOCATION_INFO *( STDMETHODCALLTYPE *GetResourceAllocationInfo2 )(
- ID3D12Device11 * This,
- D3D12_RESOURCE_ALLOCATION_INFO * RetVal,
- UINT visibleMask,
- UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC1 *pResourceDescs,
- _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1);
-
- #endif
-
- DECLSPEC_XFGVIRT(ID3D12Device8, CreateCommittedResource2)
- HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource2 )(
- ID3D12Device11 * This,
- _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties,
- D3D12_HEAP_FLAGS HeapFlags,
- _In_ const D3D12_RESOURCE_DESC1 *pDesc,
- D3D12_RESOURCE_STATES InitialResourceState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
- REFIID riidResource,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device8, CreatePlacedResource1)
- HRESULT ( STDMETHODCALLTYPE *CreatePlacedResource1 )(
- ID3D12Device11 * This,
- _In_ ID3D12Heap *pHeap,
- UINT64 HeapOffset,
- _In_ const D3D12_RESOURCE_DESC1 *pDesc,
- D3D12_RESOURCE_STATES InitialState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device8, CreateSamplerFeedbackUnorderedAccessView)
- void ( STDMETHODCALLTYPE *CreateSamplerFeedbackUnorderedAccessView )(
- ID3D12Device11 * This,
- _In_opt_ ID3D12Resource *pTargetedResource,
- _In_opt_ ID3D12Resource *pFeedbackResource,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device8, GetCopyableFootprints1)
- void ( STDMETHODCALLTYPE *GetCopyableFootprints1 )(
- ID3D12Device11 * This,
- _In_ const D3D12_RESOURCE_DESC1 *pResourceDesc,
- _In_range_(0,D3D12_REQ_SUBRESOURCES) UINT FirstSubresource,
- _In_range_(0,D3D12_REQ_SUBRESOURCES-FirstSubresource) UINT NumSubresources,
- UINT64 BaseOffset,
- _Out_writes_opt_(NumSubresources) D3D12_PLACED_SUBRESOURCE_FOOTPRINT *pLayouts,
- _Out_writes_opt_(NumSubresources) UINT *pNumRows,
- _Out_writes_opt_(NumSubresources) UINT64 *pRowSizeInBytes,
- _Out_opt_ UINT64 *pTotalBytes);
-
- DECLSPEC_XFGVIRT(ID3D12Device9, CreateShaderCacheSession)
- HRESULT ( STDMETHODCALLTYPE *CreateShaderCacheSession )(
- ID3D12Device11 * This,
- _In_ const D3D12_SHADER_CACHE_SESSION_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvSession);
-
- DECLSPEC_XFGVIRT(ID3D12Device9, ShaderCacheControl)
- HRESULT ( STDMETHODCALLTYPE *ShaderCacheControl )(
- ID3D12Device11 * This,
- D3D12_SHADER_CACHE_KIND_FLAGS Kinds,
- D3D12_SHADER_CACHE_CONTROL_FLAGS Control);
-
- DECLSPEC_XFGVIRT(ID3D12Device9, CreateCommandQueue1)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandQueue1 )(
- ID3D12Device11 * This,
- _In_ const D3D12_COMMAND_QUEUE_DESC *pDesc,
- REFIID CreatorID,
- REFIID riid,
- _COM_Outptr_ void **ppCommandQueue);
-
- DECLSPEC_XFGVIRT(ID3D12Device10, CreateCommittedResource3)
- HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource3 )(
- ID3D12Device11 * This,
- _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties,
- D3D12_HEAP_FLAGS HeapFlags,
- _In_ const D3D12_RESOURCE_DESC1 *pDesc,
- D3D12_BARRIER_LAYOUT InitialLayout,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
- UINT32 NumCastableFormats,
- _In_opt_count_(NumCastableFormats) const DXGI_FORMAT *pCastableFormats,
- REFIID riidResource,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device10, CreatePlacedResource2)
- HRESULT ( STDMETHODCALLTYPE *CreatePlacedResource2 )(
- ID3D12Device11 * This,
- _In_ ID3D12Heap *pHeap,
- UINT64 HeapOffset,
- _In_ const D3D12_RESOURCE_DESC1 *pDesc,
- D3D12_BARRIER_LAYOUT InitialLayout,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- UINT32 NumCastableFormats,
- _In_opt_count_(NumCastableFormats) const DXGI_FORMAT *pCastableFormats,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device10, CreateReservedResource2)
- HRESULT ( STDMETHODCALLTYPE *CreateReservedResource2 )(
- ID3D12Device11 * This,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_BARRIER_LAYOUT InitialLayout,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
- UINT32 NumCastableFormats,
- _In_opt_count_(NumCastableFormats) const DXGI_FORMAT *pCastableFormats,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device11, CreateSampler2)
- void ( STDMETHODCALLTYPE *CreateSampler2 )(
- ID3D12Device11 * This,
- _In_ const D3D12_SAMPLER_DESC2 *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- END_INTERFACE
- } ID3D12Device11Vtbl;
- interface ID3D12Device11
- {
- CONST_VTBL struct ID3D12Device11Vtbl *lpVtbl;
- };
-
- #ifdef COBJMACROS
- #define ID3D12Device11_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define ID3D12Device11_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define ID3D12Device11_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #define ID3D12Device11_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
- #define ID3D12Device11_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
- #define ID3D12Device11_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
- #define ID3D12Device11_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
- #define ID3D12Device11_GetNodeCount(This) \
- ( (This)->lpVtbl -> GetNodeCount(This) )
- #define ID3D12Device11_CreateCommandQueue(This,pDesc,riid,ppCommandQueue) \
- ( (This)->lpVtbl -> CreateCommandQueue(This,pDesc,riid,ppCommandQueue) )
- #define ID3D12Device11_CreateCommandAllocator(This,type,riid,ppCommandAllocator) \
- ( (This)->lpVtbl -> CreateCommandAllocator(This,type,riid,ppCommandAllocator) )
- #define ID3D12Device11_CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) \
- ( (This)->lpVtbl -> CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) )
- #define ID3D12Device11_CreateComputePipelineState(This,pDesc,riid,ppPipelineState) \
- ( (This)->lpVtbl -> CreateComputePipelineState(This,pDesc,riid,ppPipelineState) )
- #define ID3D12Device11_CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) \
- ( (This)->lpVtbl -> CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) )
- #define ID3D12Device11_CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) \
- ( (This)->lpVtbl -> CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) )
- #define ID3D12Device11_CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) \
- ( (This)->lpVtbl -> CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) )
- #define ID3D12Device11_GetDescriptorHandleIncrementSize(This,DescriptorHeapType) \
- ( (This)->lpVtbl -> GetDescriptorHandleIncrementSize(This,DescriptorHeapType) )
- #define ID3D12Device11_CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) \
- ( (This)->lpVtbl -> CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) )
- #define ID3D12Device11_CreateConstantBufferView(This,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateConstantBufferView(This,pDesc,DestDescriptor) )
- #define ID3D12Device11_CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) )
- #define ID3D12Device11_CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) )
- #define ID3D12Device11_CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) )
- #define ID3D12Device11_CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) )
- #define ID3D12Device11_CreateSampler(This,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateSampler(This,pDesc,DestDescriptor) )
- #define ID3D12Device11_CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) \
- ( (This)->lpVtbl -> CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) )
- #define ID3D12Device11_CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) \
- ( (This)->lpVtbl -> CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) )
- #if !defined(_WIN32)
- #define ID3D12Device11_GetResourceAllocationInfo(This,visibleMask,numResourceDescs,pResourceDescs) \
- ( (This)->lpVtbl -> GetResourceAllocationInfo(This,visibleMask,numResourceDescs,pResourceDescs) )
- #else
- #define ID3D12Device11_GetResourceAllocationInfo(This,RetVal,visibleMask,numResourceDescs,pResourceDescs) \
- ( (This)->lpVtbl -> GetResourceAllocationInfo(This,RetVal,visibleMask,numResourceDescs,pResourceDescs) )
- #endif
- #if !defined(_WIN32)
- #define ID3D12Device11_GetCustomHeapProperties(This,nodeMask,heapType) \
- ( (This)->lpVtbl -> GetCustomHeapProperties(This,nodeMask,heapType) )
- #else
- #define ID3D12Device11_GetCustomHeapProperties(This,RetVal,nodeMask,heapType) \
- ( (This)->lpVtbl -> GetCustomHeapProperties(This,RetVal,nodeMask,heapType) )
- #endif
- #define ID3D12Device11_CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) \
- ( (This)->lpVtbl -> CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) )
- #define ID3D12Device11_CreateHeap(This,pDesc,riid,ppvHeap) \
- ( (This)->lpVtbl -> CreateHeap(This,pDesc,riid,ppvHeap) )
- #define ID3D12Device11_CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
- ( (This)->lpVtbl -> CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
- #define ID3D12Device11_CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
- ( (This)->lpVtbl -> CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
- #define ID3D12Device11_CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) \
- ( (This)->lpVtbl -> CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) )
- #define ID3D12Device11_OpenSharedHandle(This,NTHandle,riid,ppvObj) \
- ( (This)->lpVtbl -> OpenSharedHandle(This,NTHandle,riid,ppvObj) )
- #define ID3D12Device11_OpenSharedHandleByName(This,Name,Access,pNTHandle) \
- ( (This)->lpVtbl -> OpenSharedHandleByName(This,Name,Access,pNTHandle) )
- #define ID3D12Device11_MakeResident(This,NumObjects,ppObjects) \
- ( (This)->lpVtbl -> MakeResident(This,NumObjects,ppObjects) )
- #define ID3D12Device11_Evict(This,NumObjects,ppObjects) \
- ( (This)->lpVtbl -> Evict(This,NumObjects,ppObjects) )
- #define ID3D12Device11_CreateFence(This,InitialValue,Flags,riid,ppFence) \
- ( (This)->lpVtbl -> CreateFence(This,InitialValue,Flags,riid,ppFence) )
- #define ID3D12Device11_GetDeviceRemovedReason(This) \
- ( (This)->lpVtbl -> GetDeviceRemovedReason(This) )
- #define ID3D12Device11_GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) \
- ( (This)->lpVtbl -> GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) )
- #define ID3D12Device11_CreateQueryHeap(This,pDesc,riid,ppvHeap) \
- ( (This)->lpVtbl -> CreateQueryHeap(This,pDesc,riid,ppvHeap) )
- #define ID3D12Device11_SetStablePowerState(This,Enable) \
- ( (This)->lpVtbl -> SetStablePowerState(This,Enable) )
- #define ID3D12Device11_CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) \
- ( (This)->lpVtbl -> CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) )
- #define ID3D12Device11_GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) \
- ( (This)->lpVtbl -> GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) )
- #if !defined(_WIN32)
- #define ID3D12Device11_GetAdapterLuid(This) \
- ( (This)->lpVtbl -> GetAdapterLuid(This) )
- #else
- #define ID3D12Device11_GetAdapterLuid(This,RetVal) \
- ( (This)->lpVtbl -> GetAdapterLuid(This,RetVal) )
- #endif
- #define ID3D12Device11_CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) \
- ( (This)->lpVtbl -> CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) )
- #define ID3D12Device11_SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) \
- ( (This)->lpVtbl -> SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) )
- #define ID3D12Device11_SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) \
- ( (This)->lpVtbl -> SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) )
- #define ID3D12Device11_CreatePipelineState(This,pDesc,riid,ppPipelineState) \
- ( (This)->lpVtbl -> CreatePipelineState(This,pDesc,riid,ppPipelineState) )
- #define ID3D12Device11_OpenExistingHeapFromAddress(This,pAddress,riid,ppvHeap) \
- ( (This)->lpVtbl -> OpenExistingHeapFromAddress(This,pAddress,riid,ppvHeap) )
- #define ID3D12Device11_OpenExistingHeapFromFileMapping(This,hFileMapping,riid,ppvHeap) \
- ( (This)->lpVtbl -> OpenExistingHeapFromFileMapping(This,hFileMapping,riid,ppvHeap) )
- #define ID3D12Device11_EnqueueMakeResident(This,Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) \
- ( (This)->lpVtbl -> EnqueueMakeResident(This,Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) )
- #define ID3D12Device11_CreateCommandList1(This,nodeMask,type,flags,riid,ppCommandList) \
- ( (This)->lpVtbl -> CreateCommandList1(This,nodeMask,type,flags,riid,ppCommandList) )
- #define ID3D12Device11_CreateProtectedResourceSession(This,pDesc,riid,ppSession) \
- ( (This)->lpVtbl -> CreateProtectedResourceSession(This,pDesc,riid,ppSession) )
- #define ID3D12Device11_CreateCommittedResource1(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) \
- ( (This)->lpVtbl -> CreateCommittedResource1(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) )
- #define ID3D12Device11_CreateHeap1(This,pDesc,pProtectedSession,riid,ppvHeap) \
- ( (This)->lpVtbl -> CreateHeap1(This,pDesc,pProtectedSession,riid,ppvHeap) )
- #define ID3D12Device11_CreateReservedResource1(This,pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) \
- ( (This)->lpVtbl -> CreateReservedResource1(This,pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) )
- #if !defined(_WIN32)
- #define ID3D12Device11_GetResourceAllocationInfo1(This,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) \
- ( (This)->lpVtbl -> GetResourceAllocationInfo1(This,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) )
- #else
- #define ID3D12Device11_GetResourceAllocationInfo1(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) \
- ( (This)->lpVtbl -> GetResourceAllocationInfo1(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) )
- #endif
- #define ID3D12Device11_CreateLifetimeTracker(This,pOwner,riid,ppvTracker) \
- ( (This)->lpVtbl -> CreateLifetimeTracker(This,pOwner,riid,ppvTracker) )
- #define ID3D12Device11_RemoveDevice(This) \
- ( (This)->lpVtbl -> RemoveDevice(This) )
- #define ID3D12Device11_EnumerateMetaCommands(This,pNumMetaCommands,pDescs) \
- ( (This)->lpVtbl -> EnumerateMetaCommands(This,pNumMetaCommands,pDescs) )
- #define ID3D12Device11_EnumerateMetaCommandParameters(This,CommandId,Stage,pTotalStructureSizeInBytes,pParameterCount,pParameterDescs) \
- ( (This)->lpVtbl -> EnumerateMetaCommandParameters(This,CommandId,Stage,pTotalStructureSizeInBytes,pParameterCount,pParameterDescs) )
- #define ID3D12Device11_CreateMetaCommand(This,CommandId,NodeMask,pCreationParametersData,CreationParametersDataSizeInBytes,riid,ppMetaCommand) \
- ( (This)->lpVtbl -> CreateMetaCommand(This,CommandId,NodeMask,pCreationParametersData,CreationParametersDataSizeInBytes,riid,ppMetaCommand) )
- #define ID3D12Device11_CreateStateObject(This,pDesc,riid,ppStateObject) \
- ( (This)->lpVtbl -> CreateStateObject(This,pDesc,riid,ppStateObject) )
- #define ID3D12Device11_GetRaytracingAccelerationStructurePrebuildInfo(This,pDesc,pInfo) \
- ( (This)->lpVtbl -> GetRaytracingAccelerationStructurePrebuildInfo(This,pDesc,pInfo) )
- #define ID3D12Device11_CheckDriverMatchingIdentifier(This,SerializedDataType,pIdentifierToCheck) \
- ( (This)->lpVtbl -> CheckDriverMatchingIdentifier(This,SerializedDataType,pIdentifierToCheck) )
- #define ID3D12Device11_SetBackgroundProcessingMode(This,Mode,MeasurementsAction,hEventToSignalUponCompletion,pbFurtherMeasurementsDesired) \
- ( (This)->lpVtbl -> SetBackgroundProcessingMode(This,Mode,MeasurementsAction,hEventToSignalUponCompletion,pbFurtherMeasurementsDesired) )
- #define ID3D12Device11_AddToStateObject(This,pAddition,pStateObjectToGrowFrom,riid,ppNewStateObject) \
- ( (This)->lpVtbl -> AddToStateObject(This,pAddition,pStateObjectToGrowFrom,riid,ppNewStateObject) )
- #define ID3D12Device11_CreateProtectedResourceSession1(This,pDesc,riid,ppSession) \
- ( (This)->lpVtbl -> CreateProtectedResourceSession1(This,pDesc,riid,ppSession) )
- #if !defined(_WIN32)
- #define ID3D12Device11_GetResourceAllocationInfo2(This,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) \
- ( (This)->lpVtbl -> GetResourceAllocationInfo2(This,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) )
- #else
- #define ID3D12Device11_GetResourceAllocationInfo2(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) \
- ( (This)->lpVtbl -> GetResourceAllocationInfo2(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) )
- #endif
- #define ID3D12Device11_CreateCommittedResource2(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) \
- ( (This)->lpVtbl -> CreateCommittedResource2(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) )
- #define ID3D12Device11_CreatePlacedResource1(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
- ( (This)->lpVtbl -> CreatePlacedResource1(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
- #define ID3D12Device11_CreateSamplerFeedbackUnorderedAccessView(This,pTargetedResource,pFeedbackResource,DestDescriptor) \
- ( (This)->lpVtbl -> CreateSamplerFeedbackUnorderedAccessView(This,pTargetedResource,pFeedbackResource,DestDescriptor) )
- #define ID3D12Device11_GetCopyableFootprints1(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) \
- ( (This)->lpVtbl -> GetCopyableFootprints1(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) )
- #define ID3D12Device11_CreateShaderCacheSession(This,pDesc,riid,ppvSession) \
- ( (This)->lpVtbl -> CreateShaderCacheSession(This,pDesc,riid,ppvSession) )
- #define ID3D12Device11_ShaderCacheControl(This,Kinds,Control) \
- ( (This)->lpVtbl -> ShaderCacheControl(This,Kinds,Control) )
- #define ID3D12Device11_CreateCommandQueue1(This,pDesc,CreatorID,riid,ppCommandQueue) \
- ( (This)->lpVtbl -> CreateCommandQueue1(This,pDesc,CreatorID,riid,ppCommandQueue) )
- #define ID3D12Device11_CreateCommittedResource3(This,pHeapProperties,HeapFlags,pDesc,InitialLayout,pOptimizedClearValue,pProtectedSession,NumCastableFormats,pCastableFormats,riidResource,ppvResource) \
- ( (This)->lpVtbl -> CreateCommittedResource3(This,pHeapProperties,HeapFlags,pDesc,InitialLayout,pOptimizedClearValue,pProtectedSession,NumCastableFormats,pCastableFormats,riidResource,ppvResource) )
- #define ID3D12Device11_CreatePlacedResource2(This,pHeap,HeapOffset,pDesc,InitialLayout,pOptimizedClearValue,NumCastableFormats,pCastableFormats,riid,ppvResource) \
- ( (This)->lpVtbl -> CreatePlacedResource2(This,pHeap,HeapOffset,pDesc,InitialLayout,pOptimizedClearValue,NumCastableFormats,pCastableFormats,riid,ppvResource) )
- #define ID3D12Device11_CreateReservedResource2(This,pDesc,InitialLayout,pOptimizedClearValue,pProtectedSession,NumCastableFormats,pCastableFormats,riid,ppvResource) \
- ( (This)->lpVtbl -> CreateReservedResource2(This,pDesc,InitialLayout,pOptimizedClearValue,pProtectedSession,NumCastableFormats,pCastableFormats,riid,ppvResource) )
- #define ID3D12Device11_CreateSampler2(This,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateSampler2(This,pDesc,DestDescriptor) )
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __ID3D12Device11_INTERFACE_DEFINED__ */
- #ifndef __ID3D12Device12_INTERFACE_DEFINED__
- #define __ID3D12Device12_INTERFACE_DEFINED__
- /* interface ID3D12Device12 */
- /* [unique][local][object][uuid] */
- EXTERN_C const IID IID_ID3D12Device12;
- #if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("5af5c532-4c91-4cd0-b541-15a405395fc5")
- ID3D12Device12 : public ID3D12Device11
- {
- public:
- #if defined(_MSC_VER) || !defined(_WIN32)
- virtual D3D12_RESOURCE_ALLOCATION_INFO STDMETHODCALLTYPE GetResourceAllocationInfo3(
- UINT visibleMask,
- UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC1 *pResourceDescs,
- _In_opt_count_(numResourceDescs) const UINT32 *pNumCastableFormats,
- _In_opt_count_(numResourceDescs) const DXGI_FORMAT *const *ppCastableFormats,
- _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1) = 0;
- #else
- virtual D3D12_RESOURCE_ALLOCATION_INFO *STDMETHODCALLTYPE GetResourceAllocationInfo3(
- D3D12_RESOURCE_ALLOCATION_INFO * RetVal,
- UINT visibleMask,
- UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC1 *pResourceDescs,
- _In_opt_count_(numResourceDescs) const UINT32 *pNumCastableFormats,
- _In_opt_count_(numResourceDescs) const DXGI_FORMAT *const *ppCastableFormats,
- _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1) = 0;
- #endif
-
- };
-
-
- #else /* C style interface */
- typedef struct ID3D12Device12Vtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12Device12 * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12Device12 * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12Device12 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12Device12 * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12Device12 * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12Device12 * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetName)
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12Device12 * This,
- _In_z_ LPCWSTR Name);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetNodeCount)
- UINT ( STDMETHODCALLTYPE *GetNodeCount )(
- ID3D12Device12 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandQueue)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandQueue )(
- ID3D12Device12 * This,
- _In_ const D3D12_COMMAND_QUEUE_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppCommandQueue);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandAllocator)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandAllocator )(
- ID3D12Device12 * This,
- _In_ D3D12_COMMAND_LIST_TYPE type,
- REFIID riid,
- _COM_Outptr_ void **ppCommandAllocator);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateGraphicsPipelineState)
- HRESULT ( STDMETHODCALLTYPE *CreateGraphicsPipelineState )(
- ID3D12Device12 * This,
- _In_ const D3D12_GRAPHICS_PIPELINE_STATE_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineState);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateComputePipelineState)
- HRESULT ( STDMETHODCALLTYPE *CreateComputePipelineState )(
- ID3D12Device12 * This,
- _In_ const D3D12_COMPUTE_PIPELINE_STATE_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineState);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandList)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandList )(
- ID3D12Device12 * This,
- _In_ UINT nodeMask,
- _In_ D3D12_COMMAND_LIST_TYPE type,
- _In_ ID3D12CommandAllocator *pCommandAllocator,
- _In_opt_ ID3D12PipelineState *pInitialState,
- REFIID riid,
- _COM_Outptr_ void **ppCommandList);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CheckFeatureSupport)
- HRESULT ( STDMETHODCALLTYPE *CheckFeatureSupport )(
- ID3D12Device12 * This,
- D3D12_FEATURE Feature,
- _Inout_updates_bytes_(FeatureSupportDataSize) void *pFeatureSupportData,
- UINT FeatureSupportDataSize);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateDescriptorHeap)
- HRESULT ( STDMETHODCALLTYPE *CreateDescriptorHeap )(
- ID3D12Device12 * This,
- _In_ const D3D12_DESCRIPTOR_HEAP_DESC *pDescriptorHeapDesc,
- REFIID riid,
- _COM_Outptr_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetDescriptorHandleIncrementSize)
- UINT ( STDMETHODCALLTYPE *GetDescriptorHandleIncrementSize )(
- ID3D12Device12 * This,
- _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapType);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateRootSignature)
- HRESULT ( STDMETHODCALLTYPE *CreateRootSignature )(
- ID3D12Device12 * This,
- _In_ UINT nodeMask,
- _In_reads_(blobLengthInBytes) const void *pBlobWithRootSignature,
- _In_ SIZE_T blobLengthInBytes,
- REFIID riid,
- _COM_Outptr_ void **ppvRootSignature);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateConstantBufferView)
- void ( STDMETHODCALLTYPE *CreateConstantBufferView )(
- ID3D12Device12 * This,
- _In_opt_ const D3D12_CONSTANT_BUFFER_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateShaderResourceView)
- void ( STDMETHODCALLTYPE *CreateShaderResourceView )(
- ID3D12Device12 * This,
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_SHADER_RESOURCE_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateUnorderedAccessView)
- void ( STDMETHODCALLTYPE *CreateUnorderedAccessView )(
- ID3D12Device12 * This,
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ ID3D12Resource *pCounterResource,
- _In_opt_ const D3D12_UNORDERED_ACCESS_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateRenderTargetView)
- void ( STDMETHODCALLTYPE *CreateRenderTargetView )(
- ID3D12Device12 * This,
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_RENDER_TARGET_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateDepthStencilView)
- void ( STDMETHODCALLTYPE *CreateDepthStencilView )(
- ID3D12Device12 * This,
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_DEPTH_STENCIL_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateSampler)
- void ( STDMETHODCALLTYPE *CreateSampler )(
- ID3D12Device12 * This,
- _In_ const D3D12_SAMPLER_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CopyDescriptors)
- void ( STDMETHODCALLTYPE *CopyDescriptors )(
- ID3D12Device12 * This,
- _In_ UINT NumDestDescriptorRanges,
- _In_reads_(NumDestDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pDestDescriptorRangeStarts,
- _In_reads_opt_(NumDestDescriptorRanges) const UINT *pDestDescriptorRangeSizes,
- _In_ UINT NumSrcDescriptorRanges,
- _In_reads_(NumSrcDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pSrcDescriptorRangeStarts,
- _In_reads_opt_(NumSrcDescriptorRanges) const UINT *pSrcDescriptorRangeSizes,
- _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CopyDescriptorsSimple)
- void ( STDMETHODCALLTYPE *CopyDescriptorsSimple )(
- ID3D12Device12 * This,
- _In_ UINT NumDescriptors,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptorRangeStart,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE SrcDescriptorRangeStart,
- _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetResourceAllocationInfo)
- #if !defined(_WIN32)
- D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo )(
- ID3D12Device12 * This,
- _In_ UINT visibleMask,
- _In_ UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs);
-
- #else
- D3D12_RESOURCE_ALLOCATION_INFO *( STDMETHODCALLTYPE *GetResourceAllocationInfo )(
- ID3D12Device12 * This,
- D3D12_RESOURCE_ALLOCATION_INFO * RetVal,
- _In_ UINT visibleMask,
- _In_ UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs);
-
- #endif
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetCustomHeapProperties)
- #if !defined(_WIN32)
- D3D12_HEAP_PROPERTIES ( STDMETHODCALLTYPE *GetCustomHeapProperties )(
- ID3D12Device12 * This,
- _In_ UINT nodeMask,
- D3D12_HEAP_TYPE heapType);
-
- #else
- D3D12_HEAP_PROPERTIES *( STDMETHODCALLTYPE *GetCustomHeapProperties )(
- ID3D12Device12 * This,
- D3D12_HEAP_PROPERTIES * RetVal,
- _In_ UINT nodeMask,
- D3D12_HEAP_TYPE heapType);
-
- #endif
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommittedResource)
- HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource )(
- ID3D12Device12 * This,
- _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties,
- D3D12_HEAP_FLAGS HeapFlags,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialResourceState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- REFIID riidResource,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateHeap)
- HRESULT ( STDMETHODCALLTYPE *CreateHeap )(
- ID3D12Device12 * This,
- _In_ const D3D12_HEAP_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreatePlacedResource)
- HRESULT ( STDMETHODCALLTYPE *CreatePlacedResource )(
- ID3D12Device12 * This,
- _In_ ID3D12Heap *pHeap,
- UINT64 HeapOffset,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateReservedResource)
- HRESULT ( STDMETHODCALLTYPE *CreateReservedResource )(
- ID3D12Device12 * This,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateSharedHandle)
- HRESULT ( STDMETHODCALLTYPE *CreateSharedHandle )(
- ID3D12Device12 * This,
- _In_ ID3D12DeviceChild *pObject,
- _In_opt_ const SECURITY_ATTRIBUTES *pAttributes,
- DWORD Access,
- _In_opt_ LPCWSTR Name,
- _Out_ HANDLE *pHandle);
-
- DECLSPEC_XFGVIRT(ID3D12Device, OpenSharedHandle)
- HRESULT ( STDMETHODCALLTYPE *OpenSharedHandle )(
- ID3D12Device12 * This,
- _In_ HANDLE NTHandle,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvObj);
-
- DECLSPEC_XFGVIRT(ID3D12Device, OpenSharedHandleByName)
- HRESULT ( STDMETHODCALLTYPE *OpenSharedHandleByName )(
- ID3D12Device12 * This,
- _In_ LPCWSTR Name,
- DWORD Access,
- /* [annotation][out] */
- _Out_ HANDLE *pNTHandle);
-
- DECLSPEC_XFGVIRT(ID3D12Device, MakeResident)
- HRESULT ( STDMETHODCALLTYPE *MakeResident )(
- ID3D12Device12 * This,
- UINT NumObjects,
- _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects);
-
- DECLSPEC_XFGVIRT(ID3D12Device, Evict)
- HRESULT ( STDMETHODCALLTYPE *Evict )(
- ID3D12Device12 * This,
- UINT NumObjects,
- _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateFence)
- HRESULT ( STDMETHODCALLTYPE *CreateFence )(
- ID3D12Device12 * This,
- UINT64 InitialValue,
- D3D12_FENCE_FLAGS Flags,
- REFIID riid,
- _COM_Outptr_ void **ppFence);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetDeviceRemovedReason)
- HRESULT ( STDMETHODCALLTYPE *GetDeviceRemovedReason )(
- ID3D12Device12 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetCopyableFootprints)
- void ( STDMETHODCALLTYPE *GetCopyableFootprints )(
- ID3D12Device12 * This,
- _In_ const D3D12_RESOURCE_DESC *pResourceDesc,
- _In_range_(0,D3D12_REQ_SUBRESOURCES) UINT FirstSubresource,
- _In_range_(0,D3D12_REQ_SUBRESOURCES-FirstSubresource) UINT NumSubresources,
- UINT64 BaseOffset,
- _Out_writes_opt_(NumSubresources) D3D12_PLACED_SUBRESOURCE_FOOTPRINT *pLayouts,
- _Out_writes_opt_(NumSubresources) UINT *pNumRows,
- _Out_writes_opt_(NumSubresources) UINT64 *pRowSizeInBytes,
- _Out_opt_ UINT64 *pTotalBytes);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateQueryHeap)
- HRESULT ( STDMETHODCALLTYPE *CreateQueryHeap )(
- ID3D12Device12 * This,
- _In_ const D3D12_QUERY_HEAP_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device, SetStablePowerState)
- HRESULT ( STDMETHODCALLTYPE *SetStablePowerState )(
- ID3D12Device12 * This,
- BOOL Enable);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandSignature)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandSignature )(
- ID3D12Device12 * This,
- _In_ const D3D12_COMMAND_SIGNATURE_DESC *pDesc,
- _In_opt_ ID3D12RootSignature *pRootSignature,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvCommandSignature);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetResourceTiling)
- void ( STDMETHODCALLTYPE *GetResourceTiling )(
- ID3D12Device12 * This,
- _In_ ID3D12Resource *pTiledResource,
- _Out_opt_ UINT *pNumTilesForEntireResource,
- _Out_opt_ D3D12_PACKED_MIP_INFO *pPackedMipDesc,
- _Out_opt_ D3D12_TILE_SHAPE *pStandardTileShapeForNonPackedMips,
- _Inout_opt_ UINT *pNumSubresourceTilings,
- _In_ UINT FirstSubresourceTilingToGet,
- _Out_writes_(*pNumSubresourceTilings) D3D12_SUBRESOURCE_TILING *pSubresourceTilingsForNonPackedMips);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetAdapterLuid)
- #if !defined(_WIN32)
- LUID ( STDMETHODCALLTYPE *GetAdapterLuid )(
- ID3D12Device12 * This);
-
- #else
- LUID *( STDMETHODCALLTYPE *GetAdapterLuid )(
- ID3D12Device12 * This,
- LUID * RetVal);
-
- #endif
-
- DECLSPEC_XFGVIRT(ID3D12Device1, CreatePipelineLibrary)
- HRESULT ( STDMETHODCALLTYPE *CreatePipelineLibrary )(
- ID3D12Device12 * This,
- _In_reads_(BlobLength) const void *pLibraryBlob,
- SIZE_T BlobLength,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineLibrary);
-
- DECLSPEC_XFGVIRT(ID3D12Device1, SetEventOnMultipleFenceCompletion)
- HRESULT ( STDMETHODCALLTYPE *SetEventOnMultipleFenceCompletion )(
- ID3D12Device12 * This,
- _In_reads_(NumFences) ID3D12Fence *const *ppFences,
- _In_reads_(NumFences) const UINT64 *pFenceValues,
- UINT NumFences,
- D3D12_MULTIPLE_FENCE_WAIT_FLAGS Flags,
- HANDLE hEvent);
-
- DECLSPEC_XFGVIRT(ID3D12Device1, SetResidencyPriority)
- HRESULT ( STDMETHODCALLTYPE *SetResidencyPriority )(
- ID3D12Device12 * This,
- UINT NumObjects,
- _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects,
- _In_reads_(NumObjects) const D3D12_RESIDENCY_PRIORITY *pPriorities);
-
- DECLSPEC_XFGVIRT(ID3D12Device2, CreatePipelineState)
- HRESULT ( STDMETHODCALLTYPE *CreatePipelineState )(
- ID3D12Device12 * This,
- const D3D12_PIPELINE_STATE_STREAM_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineState);
-
- DECLSPEC_XFGVIRT(ID3D12Device3, OpenExistingHeapFromAddress)
- HRESULT ( STDMETHODCALLTYPE *OpenExistingHeapFromAddress )(
- ID3D12Device12 * This,
- _In_ const void *pAddress,
- REFIID riid,
- _COM_Outptr_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device3, OpenExistingHeapFromFileMapping)
- HRESULT ( STDMETHODCALLTYPE *OpenExistingHeapFromFileMapping )(
- ID3D12Device12 * This,
- _In_ HANDLE hFileMapping,
- REFIID riid,
- _COM_Outptr_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device3, EnqueueMakeResident)
- HRESULT ( STDMETHODCALLTYPE *EnqueueMakeResident )(
- ID3D12Device12 * This,
- D3D12_RESIDENCY_FLAGS Flags,
- UINT NumObjects,
- _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects,
- _In_ ID3D12Fence *pFenceToSignal,
- UINT64 FenceValueToSignal);
-
- DECLSPEC_XFGVIRT(ID3D12Device4, CreateCommandList1)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandList1 )(
- ID3D12Device12 * This,
- _In_ UINT nodeMask,
- _In_ D3D12_COMMAND_LIST_TYPE type,
- _In_ D3D12_COMMAND_LIST_FLAGS flags,
- REFIID riid,
- _COM_Outptr_ void **ppCommandList);
-
- DECLSPEC_XFGVIRT(ID3D12Device4, CreateProtectedResourceSession)
- HRESULT ( STDMETHODCALLTYPE *CreateProtectedResourceSession )(
- ID3D12Device12 * This,
- _In_ const D3D12_PROTECTED_RESOURCE_SESSION_DESC *pDesc,
- _In_ REFIID riid,
- _COM_Outptr_ void **ppSession);
-
- DECLSPEC_XFGVIRT(ID3D12Device4, CreateCommittedResource1)
- HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource1 )(
- ID3D12Device12 * This,
- _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties,
- D3D12_HEAP_FLAGS HeapFlags,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialResourceState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
- REFIID riidResource,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device4, CreateHeap1)
- HRESULT ( STDMETHODCALLTYPE *CreateHeap1 )(
- ID3D12Device12 * This,
- _In_ const D3D12_HEAP_DESC *pDesc,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device4, CreateReservedResource1)
- HRESULT ( STDMETHODCALLTYPE *CreateReservedResource1 )(
- ID3D12Device12 * This,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device4, GetResourceAllocationInfo1)
- #if !defined(_WIN32)
- D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo1 )(
- ID3D12Device12 * This,
- UINT visibleMask,
- UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs,
- _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1);
-
- #else
- D3D12_RESOURCE_ALLOCATION_INFO *( STDMETHODCALLTYPE *GetResourceAllocationInfo1 )(
- ID3D12Device12 * This,
- D3D12_RESOURCE_ALLOCATION_INFO * RetVal,
- UINT visibleMask,
- UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs,
- _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1);
-
- #endif
-
- DECLSPEC_XFGVIRT(ID3D12Device5, CreateLifetimeTracker)
- HRESULT ( STDMETHODCALLTYPE *CreateLifetimeTracker )(
- ID3D12Device12 * This,
- _In_ ID3D12LifetimeOwner *pOwner,
- REFIID riid,
- _COM_Outptr_ void **ppvTracker);
-
- DECLSPEC_XFGVIRT(ID3D12Device5, RemoveDevice)
- void ( STDMETHODCALLTYPE *RemoveDevice )(
- ID3D12Device12 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Device5, EnumerateMetaCommands)
- HRESULT ( STDMETHODCALLTYPE *EnumerateMetaCommands )(
- ID3D12Device12 * This,
- _Inout_ UINT *pNumMetaCommands,
- _Out_writes_opt_(*pNumMetaCommands) D3D12_META_COMMAND_DESC *pDescs);
-
- DECLSPEC_XFGVIRT(ID3D12Device5, EnumerateMetaCommandParameters)
- HRESULT ( STDMETHODCALLTYPE *EnumerateMetaCommandParameters )(
- ID3D12Device12 * This,
- _In_ REFGUID CommandId,
- _In_ D3D12_META_COMMAND_PARAMETER_STAGE Stage,
- _Out_opt_ UINT *pTotalStructureSizeInBytes,
- _Inout_ UINT *pParameterCount,
- _Out_writes_opt_(*pParameterCount) D3D12_META_COMMAND_PARAMETER_DESC *pParameterDescs);
-
- DECLSPEC_XFGVIRT(ID3D12Device5, CreateMetaCommand)
- HRESULT ( STDMETHODCALLTYPE *CreateMetaCommand )(
- ID3D12Device12 * This,
- _In_ REFGUID CommandId,
- _In_ UINT NodeMask,
- _In_reads_bytes_opt_(CreationParametersDataSizeInBytes) const void *pCreationParametersData,
- _In_ SIZE_T CreationParametersDataSizeInBytes,
- REFIID riid,
- _COM_Outptr_ void **ppMetaCommand);
-
- DECLSPEC_XFGVIRT(ID3D12Device5, CreateStateObject)
- HRESULT ( STDMETHODCALLTYPE *CreateStateObject )(
- ID3D12Device12 * This,
- const D3D12_STATE_OBJECT_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppStateObject);
-
- DECLSPEC_XFGVIRT(ID3D12Device5, GetRaytracingAccelerationStructurePrebuildInfo)
- void ( STDMETHODCALLTYPE *GetRaytracingAccelerationStructurePrebuildInfo )(
- ID3D12Device12 * This,
- _In_ const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS *pDesc,
- _Out_ D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO *pInfo);
-
- DECLSPEC_XFGVIRT(ID3D12Device5, CheckDriverMatchingIdentifier)
- D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS ( STDMETHODCALLTYPE *CheckDriverMatchingIdentifier )(
- ID3D12Device12 * This,
- _In_ D3D12_SERIALIZED_DATA_TYPE SerializedDataType,
- _In_ const D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER *pIdentifierToCheck);
-
- DECLSPEC_XFGVIRT(ID3D12Device6, SetBackgroundProcessingMode)
- HRESULT ( STDMETHODCALLTYPE *SetBackgroundProcessingMode )(
- ID3D12Device12 * This,
- D3D12_BACKGROUND_PROCESSING_MODE Mode,
- D3D12_MEASUREMENTS_ACTION MeasurementsAction,
- _In_opt_ HANDLE hEventToSignalUponCompletion,
- _Out_opt_ BOOL *pbFurtherMeasurementsDesired);
-
- DECLSPEC_XFGVIRT(ID3D12Device7, AddToStateObject)
- HRESULT ( STDMETHODCALLTYPE *AddToStateObject )(
- ID3D12Device12 * This,
- const D3D12_STATE_OBJECT_DESC *pAddition,
- ID3D12StateObject *pStateObjectToGrowFrom,
- REFIID riid,
- _COM_Outptr_ void **ppNewStateObject);
-
- DECLSPEC_XFGVIRT(ID3D12Device7, CreateProtectedResourceSession1)
- HRESULT ( STDMETHODCALLTYPE *CreateProtectedResourceSession1 )(
- ID3D12Device12 * This,
- _In_ const D3D12_PROTECTED_RESOURCE_SESSION_DESC1 *pDesc,
- _In_ REFIID riid,
- _COM_Outptr_ void **ppSession);
-
- DECLSPEC_XFGVIRT(ID3D12Device8, GetResourceAllocationInfo2)
- #if !defined(_WIN32)
- D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo2 )(
- ID3D12Device12 * This,
- UINT visibleMask,
- UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC1 *pResourceDescs,
- _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1);
-
- #else
- D3D12_RESOURCE_ALLOCATION_INFO *( STDMETHODCALLTYPE *GetResourceAllocationInfo2 )(
- ID3D12Device12 * This,
- D3D12_RESOURCE_ALLOCATION_INFO * RetVal,
- UINT visibleMask,
- UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC1 *pResourceDescs,
- _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1);
-
- #endif
-
- DECLSPEC_XFGVIRT(ID3D12Device8, CreateCommittedResource2)
- HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource2 )(
- ID3D12Device12 * This,
- _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties,
- D3D12_HEAP_FLAGS HeapFlags,
- _In_ const D3D12_RESOURCE_DESC1 *pDesc,
- D3D12_RESOURCE_STATES InitialResourceState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
- REFIID riidResource,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device8, CreatePlacedResource1)
- HRESULT ( STDMETHODCALLTYPE *CreatePlacedResource1 )(
- ID3D12Device12 * This,
- _In_ ID3D12Heap *pHeap,
- UINT64 HeapOffset,
- _In_ const D3D12_RESOURCE_DESC1 *pDesc,
- D3D12_RESOURCE_STATES InitialState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device8, CreateSamplerFeedbackUnorderedAccessView)
- void ( STDMETHODCALLTYPE *CreateSamplerFeedbackUnorderedAccessView )(
- ID3D12Device12 * This,
- _In_opt_ ID3D12Resource *pTargetedResource,
- _In_opt_ ID3D12Resource *pFeedbackResource,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device8, GetCopyableFootprints1)
- void ( STDMETHODCALLTYPE *GetCopyableFootprints1 )(
- ID3D12Device12 * This,
- _In_ const D3D12_RESOURCE_DESC1 *pResourceDesc,
- _In_range_(0,D3D12_REQ_SUBRESOURCES) UINT FirstSubresource,
- _In_range_(0,D3D12_REQ_SUBRESOURCES-FirstSubresource) UINT NumSubresources,
- UINT64 BaseOffset,
- _Out_writes_opt_(NumSubresources) D3D12_PLACED_SUBRESOURCE_FOOTPRINT *pLayouts,
- _Out_writes_opt_(NumSubresources) UINT *pNumRows,
- _Out_writes_opt_(NumSubresources) UINT64 *pRowSizeInBytes,
- _Out_opt_ UINT64 *pTotalBytes);
-
- DECLSPEC_XFGVIRT(ID3D12Device9, CreateShaderCacheSession)
- HRESULT ( STDMETHODCALLTYPE *CreateShaderCacheSession )(
- ID3D12Device12 * This,
- _In_ const D3D12_SHADER_CACHE_SESSION_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvSession);
-
- DECLSPEC_XFGVIRT(ID3D12Device9, ShaderCacheControl)
- HRESULT ( STDMETHODCALLTYPE *ShaderCacheControl )(
- ID3D12Device12 * This,
- D3D12_SHADER_CACHE_KIND_FLAGS Kinds,
- D3D12_SHADER_CACHE_CONTROL_FLAGS Control);
-
- DECLSPEC_XFGVIRT(ID3D12Device9, CreateCommandQueue1)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandQueue1 )(
- ID3D12Device12 * This,
- _In_ const D3D12_COMMAND_QUEUE_DESC *pDesc,
- REFIID CreatorID,
- REFIID riid,
- _COM_Outptr_ void **ppCommandQueue);
-
- DECLSPEC_XFGVIRT(ID3D12Device10, CreateCommittedResource3)
- HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource3 )(
- ID3D12Device12 * This,
- _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties,
- D3D12_HEAP_FLAGS HeapFlags,
- _In_ const D3D12_RESOURCE_DESC1 *pDesc,
- D3D12_BARRIER_LAYOUT InitialLayout,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
- UINT32 NumCastableFormats,
- _In_opt_count_(NumCastableFormats) const DXGI_FORMAT *pCastableFormats,
- REFIID riidResource,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device10, CreatePlacedResource2)
- HRESULT ( STDMETHODCALLTYPE *CreatePlacedResource2 )(
- ID3D12Device12 * This,
- _In_ ID3D12Heap *pHeap,
- UINT64 HeapOffset,
- _In_ const D3D12_RESOURCE_DESC1 *pDesc,
- D3D12_BARRIER_LAYOUT InitialLayout,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- UINT32 NumCastableFormats,
- _In_opt_count_(NumCastableFormats) const DXGI_FORMAT *pCastableFormats,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device10, CreateReservedResource2)
- HRESULT ( STDMETHODCALLTYPE *CreateReservedResource2 )(
- ID3D12Device12 * This,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_BARRIER_LAYOUT InitialLayout,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
- UINT32 NumCastableFormats,
- _In_opt_count_(NumCastableFormats) const DXGI_FORMAT *pCastableFormats,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device11, CreateSampler2)
- void ( STDMETHODCALLTYPE *CreateSampler2 )(
- ID3D12Device12 * This,
- _In_ const D3D12_SAMPLER_DESC2 *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device12, GetResourceAllocationInfo3)
- #if !defined(_WIN32)
- D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo3 )(
- ID3D12Device12 * This,
- UINT visibleMask,
- UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC1 *pResourceDescs,
- _In_opt_count_(numResourceDescs) const UINT32 *pNumCastableFormats,
- _In_opt_count_(numResourceDescs) const DXGI_FORMAT *const *ppCastableFormats,
- _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1);
-
- #else
- D3D12_RESOURCE_ALLOCATION_INFO *( STDMETHODCALLTYPE *GetResourceAllocationInfo3 )(
- ID3D12Device12 * This,
- D3D12_RESOURCE_ALLOCATION_INFO * RetVal,
- UINT visibleMask,
- UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC1 *pResourceDescs,
- _In_opt_count_(numResourceDescs) const UINT32 *pNumCastableFormats,
- _In_opt_count_(numResourceDescs) const DXGI_FORMAT *const *ppCastableFormats,
- _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1);
-
- #endif
-
- END_INTERFACE
- } ID3D12Device12Vtbl;
- interface ID3D12Device12
- {
- CONST_VTBL struct ID3D12Device12Vtbl *lpVtbl;
- };
-
- #ifdef COBJMACROS
- #define ID3D12Device12_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define ID3D12Device12_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define ID3D12Device12_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #define ID3D12Device12_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
- #define ID3D12Device12_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
- #define ID3D12Device12_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
- #define ID3D12Device12_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
- #define ID3D12Device12_GetNodeCount(This) \
- ( (This)->lpVtbl -> GetNodeCount(This) )
- #define ID3D12Device12_CreateCommandQueue(This,pDesc,riid,ppCommandQueue) \
- ( (This)->lpVtbl -> CreateCommandQueue(This,pDesc,riid,ppCommandQueue) )
- #define ID3D12Device12_CreateCommandAllocator(This,type,riid,ppCommandAllocator) \
- ( (This)->lpVtbl -> CreateCommandAllocator(This,type,riid,ppCommandAllocator) )
- #define ID3D12Device12_CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) \
- ( (This)->lpVtbl -> CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) )
- #define ID3D12Device12_CreateComputePipelineState(This,pDesc,riid,ppPipelineState) \
- ( (This)->lpVtbl -> CreateComputePipelineState(This,pDesc,riid,ppPipelineState) )
- #define ID3D12Device12_CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) \
- ( (This)->lpVtbl -> CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) )
- #define ID3D12Device12_CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) \
- ( (This)->lpVtbl -> CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) )
- #define ID3D12Device12_CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) \
- ( (This)->lpVtbl -> CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) )
- #define ID3D12Device12_GetDescriptorHandleIncrementSize(This,DescriptorHeapType) \
- ( (This)->lpVtbl -> GetDescriptorHandleIncrementSize(This,DescriptorHeapType) )
- #define ID3D12Device12_CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) \
- ( (This)->lpVtbl -> CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) )
- #define ID3D12Device12_CreateConstantBufferView(This,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateConstantBufferView(This,pDesc,DestDescriptor) )
- #define ID3D12Device12_CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) )
- #define ID3D12Device12_CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) )
- #define ID3D12Device12_CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) )
- #define ID3D12Device12_CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) )
- #define ID3D12Device12_CreateSampler(This,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateSampler(This,pDesc,DestDescriptor) )
- #define ID3D12Device12_CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) \
- ( (This)->lpVtbl -> CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) )
- #define ID3D12Device12_CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) \
- ( (This)->lpVtbl -> CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) )
- #if !defined(_WIN32)
- #define ID3D12Device12_GetResourceAllocationInfo(This,visibleMask,numResourceDescs,pResourceDescs) \
- ( (This)->lpVtbl -> GetResourceAllocationInfo(This,visibleMask,numResourceDescs,pResourceDescs) )
- #else
- #define ID3D12Device12_GetResourceAllocationInfo(This,RetVal,visibleMask,numResourceDescs,pResourceDescs) \
- ( (This)->lpVtbl -> GetResourceAllocationInfo(This,RetVal,visibleMask,numResourceDescs,pResourceDescs) )
- #endif
- #if !defined(_WIN32)
- #define ID3D12Device12_GetCustomHeapProperties(This,nodeMask,heapType) \
- ( (This)->lpVtbl -> GetCustomHeapProperties(This,nodeMask,heapType) )
- #else
- #define ID3D12Device12_GetCustomHeapProperties(This,RetVal,nodeMask,heapType) \
- ( (This)->lpVtbl -> GetCustomHeapProperties(This,RetVal,nodeMask,heapType) )
- #endif
- #define ID3D12Device12_CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) \
- ( (This)->lpVtbl -> CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) )
- #define ID3D12Device12_CreateHeap(This,pDesc,riid,ppvHeap) \
- ( (This)->lpVtbl -> CreateHeap(This,pDesc,riid,ppvHeap) )
- #define ID3D12Device12_CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
- ( (This)->lpVtbl -> CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
- #define ID3D12Device12_CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
- ( (This)->lpVtbl -> CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
- #define ID3D12Device12_CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) \
- ( (This)->lpVtbl -> CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) )
- #define ID3D12Device12_OpenSharedHandle(This,NTHandle,riid,ppvObj) \
- ( (This)->lpVtbl -> OpenSharedHandle(This,NTHandle,riid,ppvObj) )
- #define ID3D12Device12_OpenSharedHandleByName(This,Name,Access,pNTHandle) \
- ( (This)->lpVtbl -> OpenSharedHandleByName(This,Name,Access,pNTHandle) )
- #define ID3D12Device12_MakeResident(This,NumObjects,ppObjects) \
- ( (This)->lpVtbl -> MakeResident(This,NumObjects,ppObjects) )
- #define ID3D12Device12_Evict(This,NumObjects,ppObjects) \
- ( (This)->lpVtbl -> Evict(This,NumObjects,ppObjects) )
- #define ID3D12Device12_CreateFence(This,InitialValue,Flags,riid,ppFence) \
- ( (This)->lpVtbl -> CreateFence(This,InitialValue,Flags,riid,ppFence) )
- #define ID3D12Device12_GetDeviceRemovedReason(This) \
- ( (This)->lpVtbl -> GetDeviceRemovedReason(This) )
- #define ID3D12Device12_GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) \
- ( (This)->lpVtbl -> GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) )
- #define ID3D12Device12_CreateQueryHeap(This,pDesc,riid,ppvHeap) \
- ( (This)->lpVtbl -> CreateQueryHeap(This,pDesc,riid,ppvHeap) )
- #define ID3D12Device12_SetStablePowerState(This,Enable) \
- ( (This)->lpVtbl -> SetStablePowerState(This,Enable) )
- #define ID3D12Device12_CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) \
- ( (This)->lpVtbl -> CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) )
- #define ID3D12Device12_GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) \
- ( (This)->lpVtbl -> GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) )
- #if !defined(_WIN32)
- #define ID3D12Device12_GetAdapterLuid(This) \
- ( (This)->lpVtbl -> GetAdapterLuid(This) )
- #else
- #define ID3D12Device12_GetAdapterLuid(This,RetVal) \
- ( (This)->lpVtbl -> GetAdapterLuid(This,RetVal) )
- #endif
- #define ID3D12Device12_CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) \
- ( (This)->lpVtbl -> CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) )
- #define ID3D12Device12_SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) \
- ( (This)->lpVtbl -> SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) )
- #define ID3D12Device12_SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) \
- ( (This)->lpVtbl -> SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) )
- #define ID3D12Device12_CreatePipelineState(This,pDesc,riid,ppPipelineState) \
- ( (This)->lpVtbl -> CreatePipelineState(This,pDesc,riid,ppPipelineState) )
- #define ID3D12Device12_OpenExistingHeapFromAddress(This,pAddress,riid,ppvHeap) \
- ( (This)->lpVtbl -> OpenExistingHeapFromAddress(This,pAddress,riid,ppvHeap) )
- #define ID3D12Device12_OpenExistingHeapFromFileMapping(This,hFileMapping,riid,ppvHeap) \
- ( (This)->lpVtbl -> OpenExistingHeapFromFileMapping(This,hFileMapping,riid,ppvHeap) )
- #define ID3D12Device12_EnqueueMakeResident(This,Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) \
- ( (This)->lpVtbl -> EnqueueMakeResident(This,Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) )
- #define ID3D12Device12_CreateCommandList1(This,nodeMask,type,flags,riid,ppCommandList) \
- ( (This)->lpVtbl -> CreateCommandList1(This,nodeMask,type,flags,riid,ppCommandList) )
- #define ID3D12Device12_CreateProtectedResourceSession(This,pDesc,riid,ppSession) \
- ( (This)->lpVtbl -> CreateProtectedResourceSession(This,pDesc,riid,ppSession) )
- #define ID3D12Device12_CreateCommittedResource1(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) \
- ( (This)->lpVtbl -> CreateCommittedResource1(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) )
- #define ID3D12Device12_CreateHeap1(This,pDesc,pProtectedSession,riid,ppvHeap) \
- ( (This)->lpVtbl -> CreateHeap1(This,pDesc,pProtectedSession,riid,ppvHeap) )
- #define ID3D12Device12_CreateReservedResource1(This,pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) \
- ( (This)->lpVtbl -> CreateReservedResource1(This,pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) )
- #if !defined(_WIN32)
- #define ID3D12Device12_GetResourceAllocationInfo1(This,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) \
- ( (This)->lpVtbl -> GetResourceAllocationInfo1(This,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) )
- #else
- #define ID3D12Device12_GetResourceAllocationInfo1(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) \
- ( (This)->lpVtbl -> GetResourceAllocationInfo1(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) )
- #endif
- #define ID3D12Device12_CreateLifetimeTracker(This,pOwner,riid,ppvTracker) \
- ( (This)->lpVtbl -> CreateLifetimeTracker(This,pOwner,riid,ppvTracker) )
- #define ID3D12Device12_RemoveDevice(This) \
- ( (This)->lpVtbl -> RemoveDevice(This) )
- #define ID3D12Device12_EnumerateMetaCommands(This,pNumMetaCommands,pDescs) \
- ( (This)->lpVtbl -> EnumerateMetaCommands(This,pNumMetaCommands,pDescs) )
- #define ID3D12Device12_EnumerateMetaCommandParameters(This,CommandId,Stage,pTotalStructureSizeInBytes,pParameterCount,pParameterDescs) \
- ( (This)->lpVtbl -> EnumerateMetaCommandParameters(This,CommandId,Stage,pTotalStructureSizeInBytes,pParameterCount,pParameterDescs) )
- #define ID3D12Device12_CreateMetaCommand(This,CommandId,NodeMask,pCreationParametersData,CreationParametersDataSizeInBytes,riid,ppMetaCommand) \
- ( (This)->lpVtbl -> CreateMetaCommand(This,CommandId,NodeMask,pCreationParametersData,CreationParametersDataSizeInBytes,riid,ppMetaCommand) )
- #define ID3D12Device12_CreateStateObject(This,pDesc,riid,ppStateObject) \
- ( (This)->lpVtbl -> CreateStateObject(This,pDesc,riid,ppStateObject) )
- #define ID3D12Device12_GetRaytracingAccelerationStructurePrebuildInfo(This,pDesc,pInfo) \
- ( (This)->lpVtbl -> GetRaytracingAccelerationStructurePrebuildInfo(This,pDesc,pInfo) )
- #define ID3D12Device12_CheckDriverMatchingIdentifier(This,SerializedDataType,pIdentifierToCheck) \
- ( (This)->lpVtbl -> CheckDriverMatchingIdentifier(This,SerializedDataType,pIdentifierToCheck) )
- #define ID3D12Device12_SetBackgroundProcessingMode(This,Mode,MeasurementsAction,hEventToSignalUponCompletion,pbFurtherMeasurementsDesired) \
- ( (This)->lpVtbl -> SetBackgroundProcessingMode(This,Mode,MeasurementsAction,hEventToSignalUponCompletion,pbFurtherMeasurementsDesired) )
- #define ID3D12Device12_AddToStateObject(This,pAddition,pStateObjectToGrowFrom,riid,ppNewStateObject) \
- ( (This)->lpVtbl -> AddToStateObject(This,pAddition,pStateObjectToGrowFrom,riid,ppNewStateObject) )
- #define ID3D12Device12_CreateProtectedResourceSession1(This,pDesc,riid,ppSession) \
- ( (This)->lpVtbl -> CreateProtectedResourceSession1(This,pDesc,riid,ppSession) )
- #if !defined(_WIN32)
- #define ID3D12Device12_GetResourceAllocationInfo2(This,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) \
- ( (This)->lpVtbl -> GetResourceAllocationInfo2(This,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) )
- #else
- #define ID3D12Device12_GetResourceAllocationInfo2(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) \
- ( (This)->lpVtbl -> GetResourceAllocationInfo2(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) )
- #endif
- #define ID3D12Device12_CreateCommittedResource2(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) \
- ( (This)->lpVtbl -> CreateCommittedResource2(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) )
- #define ID3D12Device12_CreatePlacedResource1(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
- ( (This)->lpVtbl -> CreatePlacedResource1(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
- #define ID3D12Device12_CreateSamplerFeedbackUnorderedAccessView(This,pTargetedResource,pFeedbackResource,DestDescriptor) \
- ( (This)->lpVtbl -> CreateSamplerFeedbackUnorderedAccessView(This,pTargetedResource,pFeedbackResource,DestDescriptor) )
- #define ID3D12Device12_GetCopyableFootprints1(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) \
- ( (This)->lpVtbl -> GetCopyableFootprints1(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) )
- #define ID3D12Device12_CreateShaderCacheSession(This,pDesc,riid,ppvSession) \
- ( (This)->lpVtbl -> CreateShaderCacheSession(This,pDesc,riid,ppvSession) )
- #define ID3D12Device12_ShaderCacheControl(This,Kinds,Control) \
- ( (This)->lpVtbl -> ShaderCacheControl(This,Kinds,Control) )
- #define ID3D12Device12_CreateCommandQueue1(This,pDesc,CreatorID,riid,ppCommandQueue) \
- ( (This)->lpVtbl -> CreateCommandQueue1(This,pDesc,CreatorID,riid,ppCommandQueue) )
- #define ID3D12Device12_CreateCommittedResource3(This,pHeapProperties,HeapFlags,pDesc,InitialLayout,pOptimizedClearValue,pProtectedSession,NumCastableFormats,pCastableFormats,riidResource,ppvResource) \
- ( (This)->lpVtbl -> CreateCommittedResource3(This,pHeapProperties,HeapFlags,pDesc,InitialLayout,pOptimizedClearValue,pProtectedSession,NumCastableFormats,pCastableFormats,riidResource,ppvResource) )
- #define ID3D12Device12_CreatePlacedResource2(This,pHeap,HeapOffset,pDesc,InitialLayout,pOptimizedClearValue,NumCastableFormats,pCastableFormats,riid,ppvResource) \
- ( (This)->lpVtbl -> CreatePlacedResource2(This,pHeap,HeapOffset,pDesc,InitialLayout,pOptimizedClearValue,NumCastableFormats,pCastableFormats,riid,ppvResource) )
- #define ID3D12Device12_CreateReservedResource2(This,pDesc,InitialLayout,pOptimizedClearValue,pProtectedSession,NumCastableFormats,pCastableFormats,riid,ppvResource) \
- ( (This)->lpVtbl -> CreateReservedResource2(This,pDesc,InitialLayout,pOptimizedClearValue,pProtectedSession,NumCastableFormats,pCastableFormats,riid,ppvResource) )
- #define ID3D12Device12_CreateSampler2(This,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateSampler2(This,pDesc,DestDescriptor) )
- #if !defined(_WIN32)
- #define ID3D12Device12_GetResourceAllocationInfo3(This,visibleMask,numResourceDescs,pResourceDescs,pNumCastableFormats,ppCastableFormats,pResourceAllocationInfo1) \
- ( (This)->lpVtbl -> GetResourceAllocationInfo3(This,visibleMask,numResourceDescs,pResourceDescs,pNumCastableFormats,ppCastableFormats,pResourceAllocationInfo1) )
- #else
- #define ID3D12Device12_GetResourceAllocationInfo3(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pNumCastableFormats,ppCastableFormats,pResourceAllocationInfo1) \
- ( (This)->lpVtbl -> GetResourceAllocationInfo3(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pNumCastableFormats,ppCastableFormats,pResourceAllocationInfo1) )
- #endif
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __ID3D12Device12_INTERFACE_DEFINED__ */
- #ifndef __ID3D12Device13_INTERFACE_DEFINED__
- #define __ID3D12Device13_INTERFACE_DEFINED__
- /* interface ID3D12Device13 */
- /* [unique][local][object][uuid] */
- EXTERN_C const IID IID_ID3D12Device13;
- #if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("14eecffc-4df8-40f7-a118-5c816f45695e")
- ID3D12Device13 : public ID3D12Device12
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE OpenExistingHeapFromAddress1(
- _In_ const void *pAddress,
- SIZE_T size,
- REFIID riid,
- _COM_Outptr_ void **ppvHeap) = 0;
-
- };
-
-
- #else /* C style interface */
- typedef struct ID3D12Device13Vtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12Device13 * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12Device13 * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12Device13 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12Device13 * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12Device13 * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12Device13 * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetName)
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12Device13 * This,
- _In_z_ LPCWSTR Name);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetNodeCount)
- UINT ( STDMETHODCALLTYPE *GetNodeCount )(
- ID3D12Device13 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandQueue)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandQueue )(
- ID3D12Device13 * This,
- _In_ const D3D12_COMMAND_QUEUE_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppCommandQueue);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandAllocator)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandAllocator )(
- ID3D12Device13 * This,
- _In_ D3D12_COMMAND_LIST_TYPE type,
- REFIID riid,
- _COM_Outptr_ void **ppCommandAllocator);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateGraphicsPipelineState)
- HRESULT ( STDMETHODCALLTYPE *CreateGraphicsPipelineState )(
- ID3D12Device13 * This,
- _In_ const D3D12_GRAPHICS_PIPELINE_STATE_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineState);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateComputePipelineState)
- HRESULT ( STDMETHODCALLTYPE *CreateComputePipelineState )(
- ID3D12Device13 * This,
- _In_ const D3D12_COMPUTE_PIPELINE_STATE_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineState);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandList)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandList )(
- ID3D12Device13 * This,
- _In_ UINT nodeMask,
- _In_ D3D12_COMMAND_LIST_TYPE type,
- _In_ ID3D12CommandAllocator *pCommandAllocator,
- _In_opt_ ID3D12PipelineState *pInitialState,
- REFIID riid,
- _COM_Outptr_ void **ppCommandList);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CheckFeatureSupport)
- HRESULT ( STDMETHODCALLTYPE *CheckFeatureSupport )(
- ID3D12Device13 * This,
- D3D12_FEATURE Feature,
- _Inout_updates_bytes_(FeatureSupportDataSize) void *pFeatureSupportData,
- UINT FeatureSupportDataSize);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateDescriptorHeap)
- HRESULT ( STDMETHODCALLTYPE *CreateDescriptorHeap )(
- ID3D12Device13 * This,
- _In_ const D3D12_DESCRIPTOR_HEAP_DESC *pDescriptorHeapDesc,
- REFIID riid,
- _COM_Outptr_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetDescriptorHandleIncrementSize)
- UINT ( STDMETHODCALLTYPE *GetDescriptorHandleIncrementSize )(
- ID3D12Device13 * This,
- _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapType);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateRootSignature)
- HRESULT ( STDMETHODCALLTYPE *CreateRootSignature )(
- ID3D12Device13 * This,
- _In_ UINT nodeMask,
- _In_reads_(blobLengthInBytes) const void *pBlobWithRootSignature,
- _In_ SIZE_T blobLengthInBytes,
- REFIID riid,
- _COM_Outptr_ void **ppvRootSignature);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateConstantBufferView)
- void ( STDMETHODCALLTYPE *CreateConstantBufferView )(
- ID3D12Device13 * This,
- _In_opt_ const D3D12_CONSTANT_BUFFER_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateShaderResourceView)
- void ( STDMETHODCALLTYPE *CreateShaderResourceView )(
- ID3D12Device13 * This,
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_SHADER_RESOURCE_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateUnorderedAccessView)
- void ( STDMETHODCALLTYPE *CreateUnorderedAccessView )(
- ID3D12Device13 * This,
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ ID3D12Resource *pCounterResource,
- _In_opt_ const D3D12_UNORDERED_ACCESS_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateRenderTargetView)
- void ( STDMETHODCALLTYPE *CreateRenderTargetView )(
- ID3D12Device13 * This,
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_RENDER_TARGET_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateDepthStencilView)
- void ( STDMETHODCALLTYPE *CreateDepthStencilView )(
- ID3D12Device13 * This,
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_DEPTH_STENCIL_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateSampler)
- void ( STDMETHODCALLTYPE *CreateSampler )(
- ID3D12Device13 * This,
- _In_ const D3D12_SAMPLER_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CopyDescriptors)
- void ( STDMETHODCALLTYPE *CopyDescriptors )(
- ID3D12Device13 * This,
- _In_ UINT NumDestDescriptorRanges,
- _In_reads_(NumDestDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pDestDescriptorRangeStarts,
- _In_reads_opt_(NumDestDescriptorRanges) const UINT *pDestDescriptorRangeSizes,
- _In_ UINT NumSrcDescriptorRanges,
- _In_reads_(NumSrcDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pSrcDescriptorRangeStarts,
- _In_reads_opt_(NumSrcDescriptorRanges) const UINT *pSrcDescriptorRangeSizes,
- _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CopyDescriptorsSimple)
- void ( STDMETHODCALLTYPE *CopyDescriptorsSimple )(
- ID3D12Device13 * This,
- _In_ UINT NumDescriptors,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptorRangeStart,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE SrcDescriptorRangeStart,
- _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetResourceAllocationInfo)
- #if !defined(_WIN32)
- D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo )(
- ID3D12Device13 * This,
- _In_ UINT visibleMask,
- _In_ UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs);
-
- #else
- D3D12_RESOURCE_ALLOCATION_INFO *( STDMETHODCALLTYPE *GetResourceAllocationInfo )(
- ID3D12Device13 * This,
- D3D12_RESOURCE_ALLOCATION_INFO * RetVal,
- _In_ UINT visibleMask,
- _In_ UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs);
-
- #endif
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetCustomHeapProperties)
- #if !defined(_WIN32)
- D3D12_HEAP_PROPERTIES ( STDMETHODCALLTYPE *GetCustomHeapProperties )(
- ID3D12Device13 * This,
- _In_ UINT nodeMask,
- D3D12_HEAP_TYPE heapType);
-
- #else
- D3D12_HEAP_PROPERTIES *( STDMETHODCALLTYPE *GetCustomHeapProperties )(
- ID3D12Device13 * This,
- D3D12_HEAP_PROPERTIES * RetVal,
- _In_ UINT nodeMask,
- D3D12_HEAP_TYPE heapType);
-
- #endif
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommittedResource)
- HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource )(
- ID3D12Device13 * This,
- _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties,
- D3D12_HEAP_FLAGS HeapFlags,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialResourceState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- REFIID riidResource,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateHeap)
- HRESULT ( STDMETHODCALLTYPE *CreateHeap )(
- ID3D12Device13 * This,
- _In_ const D3D12_HEAP_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreatePlacedResource)
- HRESULT ( STDMETHODCALLTYPE *CreatePlacedResource )(
- ID3D12Device13 * This,
- _In_ ID3D12Heap *pHeap,
- UINT64 HeapOffset,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateReservedResource)
- HRESULT ( STDMETHODCALLTYPE *CreateReservedResource )(
- ID3D12Device13 * This,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateSharedHandle)
- HRESULT ( STDMETHODCALLTYPE *CreateSharedHandle )(
- ID3D12Device13 * This,
- _In_ ID3D12DeviceChild *pObject,
- _In_opt_ const SECURITY_ATTRIBUTES *pAttributes,
- DWORD Access,
- _In_opt_ LPCWSTR Name,
- _Out_ HANDLE *pHandle);
-
- DECLSPEC_XFGVIRT(ID3D12Device, OpenSharedHandle)
- HRESULT ( STDMETHODCALLTYPE *OpenSharedHandle )(
- ID3D12Device13 * This,
- _In_ HANDLE NTHandle,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvObj);
-
- DECLSPEC_XFGVIRT(ID3D12Device, OpenSharedHandleByName)
- HRESULT ( STDMETHODCALLTYPE *OpenSharedHandleByName )(
- ID3D12Device13 * This,
- _In_ LPCWSTR Name,
- DWORD Access,
- /* [annotation][out] */
- _Out_ HANDLE *pNTHandle);
-
- DECLSPEC_XFGVIRT(ID3D12Device, MakeResident)
- HRESULT ( STDMETHODCALLTYPE *MakeResident )(
- ID3D12Device13 * This,
- UINT NumObjects,
- _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects);
-
- DECLSPEC_XFGVIRT(ID3D12Device, Evict)
- HRESULT ( STDMETHODCALLTYPE *Evict )(
- ID3D12Device13 * This,
- UINT NumObjects,
- _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateFence)
- HRESULT ( STDMETHODCALLTYPE *CreateFence )(
- ID3D12Device13 * This,
- UINT64 InitialValue,
- D3D12_FENCE_FLAGS Flags,
- REFIID riid,
- _COM_Outptr_ void **ppFence);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetDeviceRemovedReason)
- HRESULT ( STDMETHODCALLTYPE *GetDeviceRemovedReason )(
- ID3D12Device13 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetCopyableFootprints)
- void ( STDMETHODCALLTYPE *GetCopyableFootprints )(
- ID3D12Device13 * This,
- _In_ const D3D12_RESOURCE_DESC *pResourceDesc,
- _In_range_(0,D3D12_REQ_SUBRESOURCES) UINT FirstSubresource,
- _In_range_(0,D3D12_REQ_SUBRESOURCES-FirstSubresource) UINT NumSubresources,
- UINT64 BaseOffset,
- _Out_writes_opt_(NumSubresources) D3D12_PLACED_SUBRESOURCE_FOOTPRINT *pLayouts,
- _Out_writes_opt_(NumSubresources) UINT *pNumRows,
- _Out_writes_opt_(NumSubresources) UINT64 *pRowSizeInBytes,
- _Out_opt_ UINT64 *pTotalBytes);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateQueryHeap)
- HRESULT ( STDMETHODCALLTYPE *CreateQueryHeap )(
- ID3D12Device13 * This,
- _In_ const D3D12_QUERY_HEAP_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device, SetStablePowerState)
- HRESULT ( STDMETHODCALLTYPE *SetStablePowerState )(
- ID3D12Device13 * This,
- BOOL Enable);
-
- DECLSPEC_XFGVIRT(ID3D12Device, CreateCommandSignature)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandSignature )(
- ID3D12Device13 * This,
- _In_ const D3D12_COMMAND_SIGNATURE_DESC *pDesc,
- _In_opt_ ID3D12RootSignature *pRootSignature,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvCommandSignature);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetResourceTiling)
- void ( STDMETHODCALLTYPE *GetResourceTiling )(
- ID3D12Device13 * This,
- _In_ ID3D12Resource *pTiledResource,
- _Out_opt_ UINT *pNumTilesForEntireResource,
- _Out_opt_ D3D12_PACKED_MIP_INFO *pPackedMipDesc,
- _Out_opt_ D3D12_TILE_SHAPE *pStandardTileShapeForNonPackedMips,
- _Inout_opt_ UINT *pNumSubresourceTilings,
- _In_ UINT FirstSubresourceTilingToGet,
- _Out_writes_(*pNumSubresourceTilings) D3D12_SUBRESOURCE_TILING *pSubresourceTilingsForNonPackedMips);
-
- DECLSPEC_XFGVIRT(ID3D12Device, GetAdapterLuid)
- #if !defined(_WIN32)
- LUID ( STDMETHODCALLTYPE *GetAdapterLuid )(
- ID3D12Device13 * This);
-
- #else
- LUID *( STDMETHODCALLTYPE *GetAdapterLuid )(
- ID3D12Device13 * This,
- LUID * RetVal);
-
- #endif
-
- DECLSPEC_XFGVIRT(ID3D12Device1, CreatePipelineLibrary)
- HRESULT ( STDMETHODCALLTYPE *CreatePipelineLibrary )(
- ID3D12Device13 * This,
- _In_reads_(BlobLength) const void *pLibraryBlob,
- SIZE_T BlobLength,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineLibrary);
-
- DECLSPEC_XFGVIRT(ID3D12Device1, SetEventOnMultipleFenceCompletion)
- HRESULT ( STDMETHODCALLTYPE *SetEventOnMultipleFenceCompletion )(
- ID3D12Device13 * This,
- _In_reads_(NumFences) ID3D12Fence *const *ppFences,
- _In_reads_(NumFences) const UINT64 *pFenceValues,
- UINT NumFences,
- D3D12_MULTIPLE_FENCE_WAIT_FLAGS Flags,
- HANDLE hEvent);
-
- DECLSPEC_XFGVIRT(ID3D12Device1, SetResidencyPriority)
- HRESULT ( STDMETHODCALLTYPE *SetResidencyPriority )(
- ID3D12Device13 * This,
- UINT NumObjects,
- _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects,
- _In_reads_(NumObjects) const D3D12_RESIDENCY_PRIORITY *pPriorities);
-
- DECLSPEC_XFGVIRT(ID3D12Device2, CreatePipelineState)
- HRESULT ( STDMETHODCALLTYPE *CreatePipelineState )(
- ID3D12Device13 * This,
- const D3D12_PIPELINE_STATE_STREAM_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineState);
-
- DECLSPEC_XFGVIRT(ID3D12Device3, OpenExistingHeapFromAddress)
- HRESULT ( STDMETHODCALLTYPE *OpenExistingHeapFromAddress )(
- ID3D12Device13 * This,
- _In_ const void *pAddress,
- REFIID riid,
- _COM_Outptr_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device3, OpenExistingHeapFromFileMapping)
- HRESULT ( STDMETHODCALLTYPE *OpenExistingHeapFromFileMapping )(
- ID3D12Device13 * This,
- _In_ HANDLE hFileMapping,
- REFIID riid,
- _COM_Outptr_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device3, EnqueueMakeResident)
- HRESULT ( STDMETHODCALLTYPE *EnqueueMakeResident )(
- ID3D12Device13 * This,
- D3D12_RESIDENCY_FLAGS Flags,
- UINT NumObjects,
- _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects,
- _In_ ID3D12Fence *pFenceToSignal,
- UINT64 FenceValueToSignal);
-
- DECLSPEC_XFGVIRT(ID3D12Device4, CreateCommandList1)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandList1 )(
- ID3D12Device13 * This,
- _In_ UINT nodeMask,
- _In_ D3D12_COMMAND_LIST_TYPE type,
- _In_ D3D12_COMMAND_LIST_FLAGS flags,
- REFIID riid,
- _COM_Outptr_ void **ppCommandList);
-
- DECLSPEC_XFGVIRT(ID3D12Device4, CreateProtectedResourceSession)
- HRESULT ( STDMETHODCALLTYPE *CreateProtectedResourceSession )(
- ID3D12Device13 * This,
- _In_ const D3D12_PROTECTED_RESOURCE_SESSION_DESC *pDesc,
- _In_ REFIID riid,
- _COM_Outptr_ void **ppSession);
-
- DECLSPEC_XFGVIRT(ID3D12Device4, CreateCommittedResource1)
- HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource1 )(
- ID3D12Device13 * This,
- _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties,
- D3D12_HEAP_FLAGS HeapFlags,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialResourceState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
- REFIID riidResource,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device4, CreateHeap1)
- HRESULT ( STDMETHODCALLTYPE *CreateHeap1 )(
- ID3D12Device13 * This,
- _In_ const D3D12_HEAP_DESC *pDesc,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvHeap);
-
- DECLSPEC_XFGVIRT(ID3D12Device4, CreateReservedResource1)
- HRESULT ( STDMETHODCALLTYPE *CreateReservedResource1 )(
- ID3D12Device13 * This,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_STATES InitialState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device4, GetResourceAllocationInfo1)
- #if !defined(_WIN32)
- D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo1 )(
- ID3D12Device13 * This,
- UINT visibleMask,
- UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs,
- _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1);
-
- #else
- D3D12_RESOURCE_ALLOCATION_INFO *( STDMETHODCALLTYPE *GetResourceAllocationInfo1 )(
- ID3D12Device13 * This,
- D3D12_RESOURCE_ALLOCATION_INFO * RetVal,
- UINT visibleMask,
- UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs,
- _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1);
-
- #endif
-
- DECLSPEC_XFGVIRT(ID3D12Device5, CreateLifetimeTracker)
- HRESULT ( STDMETHODCALLTYPE *CreateLifetimeTracker )(
- ID3D12Device13 * This,
- _In_ ID3D12LifetimeOwner *pOwner,
- REFIID riid,
- _COM_Outptr_ void **ppvTracker);
-
- DECLSPEC_XFGVIRT(ID3D12Device5, RemoveDevice)
- void ( STDMETHODCALLTYPE *RemoveDevice )(
- ID3D12Device13 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Device5, EnumerateMetaCommands)
- HRESULT ( STDMETHODCALLTYPE *EnumerateMetaCommands )(
- ID3D12Device13 * This,
- _Inout_ UINT *pNumMetaCommands,
- _Out_writes_opt_(*pNumMetaCommands) D3D12_META_COMMAND_DESC *pDescs);
-
- DECLSPEC_XFGVIRT(ID3D12Device5, EnumerateMetaCommandParameters)
- HRESULT ( STDMETHODCALLTYPE *EnumerateMetaCommandParameters )(
- ID3D12Device13 * This,
- _In_ REFGUID CommandId,
- _In_ D3D12_META_COMMAND_PARAMETER_STAGE Stage,
- _Out_opt_ UINT *pTotalStructureSizeInBytes,
- _Inout_ UINT *pParameterCount,
- _Out_writes_opt_(*pParameterCount) D3D12_META_COMMAND_PARAMETER_DESC *pParameterDescs);
-
- DECLSPEC_XFGVIRT(ID3D12Device5, CreateMetaCommand)
- HRESULT ( STDMETHODCALLTYPE *CreateMetaCommand )(
- ID3D12Device13 * This,
- _In_ REFGUID CommandId,
- _In_ UINT NodeMask,
- _In_reads_bytes_opt_(CreationParametersDataSizeInBytes) const void *pCreationParametersData,
- _In_ SIZE_T CreationParametersDataSizeInBytes,
- REFIID riid,
- _COM_Outptr_ void **ppMetaCommand);
-
- DECLSPEC_XFGVIRT(ID3D12Device5, CreateStateObject)
- HRESULT ( STDMETHODCALLTYPE *CreateStateObject )(
- ID3D12Device13 * This,
- const D3D12_STATE_OBJECT_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppStateObject);
-
- DECLSPEC_XFGVIRT(ID3D12Device5, GetRaytracingAccelerationStructurePrebuildInfo)
- void ( STDMETHODCALLTYPE *GetRaytracingAccelerationStructurePrebuildInfo )(
- ID3D12Device13 * This,
- _In_ const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS *pDesc,
- _Out_ D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO *pInfo);
-
- DECLSPEC_XFGVIRT(ID3D12Device5, CheckDriverMatchingIdentifier)
- D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS ( STDMETHODCALLTYPE *CheckDriverMatchingIdentifier )(
- ID3D12Device13 * This,
- _In_ D3D12_SERIALIZED_DATA_TYPE SerializedDataType,
- _In_ const D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER *pIdentifierToCheck);
-
- DECLSPEC_XFGVIRT(ID3D12Device6, SetBackgroundProcessingMode)
- HRESULT ( STDMETHODCALLTYPE *SetBackgroundProcessingMode )(
- ID3D12Device13 * This,
- D3D12_BACKGROUND_PROCESSING_MODE Mode,
- D3D12_MEASUREMENTS_ACTION MeasurementsAction,
- _In_opt_ HANDLE hEventToSignalUponCompletion,
- _Out_opt_ BOOL *pbFurtherMeasurementsDesired);
-
- DECLSPEC_XFGVIRT(ID3D12Device7, AddToStateObject)
- HRESULT ( STDMETHODCALLTYPE *AddToStateObject )(
- ID3D12Device13 * This,
- const D3D12_STATE_OBJECT_DESC *pAddition,
- ID3D12StateObject *pStateObjectToGrowFrom,
- REFIID riid,
- _COM_Outptr_ void **ppNewStateObject);
-
- DECLSPEC_XFGVIRT(ID3D12Device7, CreateProtectedResourceSession1)
- HRESULT ( STDMETHODCALLTYPE *CreateProtectedResourceSession1 )(
- ID3D12Device13 * This,
- _In_ const D3D12_PROTECTED_RESOURCE_SESSION_DESC1 *pDesc,
- _In_ REFIID riid,
- _COM_Outptr_ void **ppSession);
-
- DECLSPEC_XFGVIRT(ID3D12Device8, GetResourceAllocationInfo2)
- #if !defined(_WIN32)
- D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo2 )(
- ID3D12Device13 * This,
- UINT visibleMask,
- UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC1 *pResourceDescs,
- _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1);
-
- #else
- D3D12_RESOURCE_ALLOCATION_INFO *( STDMETHODCALLTYPE *GetResourceAllocationInfo2 )(
- ID3D12Device13 * This,
- D3D12_RESOURCE_ALLOCATION_INFO * RetVal,
- UINT visibleMask,
- UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC1 *pResourceDescs,
- _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1);
-
- #endif
-
- DECLSPEC_XFGVIRT(ID3D12Device8, CreateCommittedResource2)
- HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource2 )(
- ID3D12Device13 * This,
- _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties,
- D3D12_HEAP_FLAGS HeapFlags,
- _In_ const D3D12_RESOURCE_DESC1 *pDesc,
- D3D12_RESOURCE_STATES InitialResourceState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
- REFIID riidResource,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device8, CreatePlacedResource1)
- HRESULT ( STDMETHODCALLTYPE *CreatePlacedResource1 )(
- ID3D12Device13 * This,
- _In_ ID3D12Heap *pHeap,
- UINT64 HeapOffset,
- _In_ const D3D12_RESOURCE_DESC1 *pDesc,
- D3D12_RESOURCE_STATES InitialState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device8, CreateSamplerFeedbackUnorderedAccessView)
- void ( STDMETHODCALLTYPE *CreateSamplerFeedbackUnorderedAccessView )(
- ID3D12Device13 * This,
- _In_opt_ ID3D12Resource *pTargetedResource,
- _In_opt_ ID3D12Resource *pFeedbackResource,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device8, GetCopyableFootprints1)
- void ( STDMETHODCALLTYPE *GetCopyableFootprints1 )(
- ID3D12Device13 * This,
- _In_ const D3D12_RESOURCE_DESC1 *pResourceDesc,
- _In_range_(0,D3D12_REQ_SUBRESOURCES) UINT FirstSubresource,
- _In_range_(0,D3D12_REQ_SUBRESOURCES-FirstSubresource) UINT NumSubresources,
- UINT64 BaseOffset,
- _Out_writes_opt_(NumSubresources) D3D12_PLACED_SUBRESOURCE_FOOTPRINT *pLayouts,
- _Out_writes_opt_(NumSubresources) UINT *pNumRows,
- _Out_writes_opt_(NumSubresources) UINT64 *pRowSizeInBytes,
- _Out_opt_ UINT64 *pTotalBytes);
-
- DECLSPEC_XFGVIRT(ID3D12Device9, CreateShaderCacheSession)
- HRESULT ( STDMETHODCALLTYPE *CreateShaderCacheSession )(
- ID3D12Device13 * This,
- _In_ const D3D12_SHADER_CACHE_SESSION_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvSession);
-
- DECLSPEC_XFGVIRT(ID3D12Device9, ShaderCacheControl)
- HRESULT ( STDMETHODCALLTYPE *ShaderCacheControl )(
- ID3D12Device13 * This,
- D3D12_SHADER_CACHE_KIND_FLAGS Kinds,
- D3D12_SHADER_CACHE_CONTROL_FLAGS Control);
-
- DECLSPEC_XFGVIRT(ID3D12Device9, CreateCommandQueue1)
- HRESULT ( STDMETHODCALLTYPE *CreateCommandQueue1 )(
- ID3D12Device13 * This,
- _In_ const D3D12_COMMAND_QUEUE_DESC *pDesc,
- REFIID CreatorID,
- REFIID riid,
- _COM_Outptr_ void **ppCommandQueue);
-
- DECLSPEC_XFGVIRT(ID3D12Device10, CreateCommittedResource3)
- HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource3 )(
- ID3D12Device13 * This,
- _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties,
- D3D12_HEAP_FLAGS HeapFlags,
- _In_ const D3D12_RESOURCE_DESC1 *pDesc,
- D3D12_BARRIER_LAYOUT InitialLayout,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
- UINT32 NumCastableFormats,
- _In_opt_count_(NumCastableFormats) const DXGI_FORMAT *pCastableFormats,
- REFIID riidResource,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device10, CreatePlacedResource2)
- HRESULT ( STDMETHODCALLTYPE *CreatePlacedResource2 )(
- ID3D12Device13 * This,
- _In_ ID3D12Heap *pHeap,
- UINT64 HeapOffset,
- _In_ const D3D12_RESOURCE_DESC1 *pDesc,
- D3D12_BARRIER_LAYOUT InitialLayout,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- UINT32 NumCastableFormats,
- _In_opt_count_(NumCastableFormats) const DXGI_FORMAT *pCastableFormats,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device10, CreateReservedResource2)
- HRESULT ( STDMETHODCALLTYPE *CreateReservedResource2 )(
- ID3D12Device13 * This,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_BARRIER_LAYOUT InitialLayout,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedSession,
- UINT32 NumCastableFormats,
- _In_opt_count_(NumCastableFormats) const DXGI_FORMAT *pCastableFormats,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvResource);
-
- DECLSPEC_XFGVIRT(ID3D12Device11, CreateSampler2)
- void ( STDMETHODCALLTYPE *CreateSampler2 )(
- ID3D12Device13 * This,
- _In_ const D3D12_SAMPLER_DESC2 *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12Device12, GetResourceAllocationInfo3)
- #if !defined(_WIN32)
- D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo3 )(
- ID3D12Device13 * This,
- UINT visibleMask,
- UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC1 *pResourceDescs,
- _In_opt_count_(numResourceDescs) const UINT32 *pNumCastableFormats,
- _In_opt_count_(numResourceDescs) const DXGI_FORMAT *const *ppCastableFormats,
- _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1);
-
- #else
- D3D12_RESOURCE_ALLOCATION_INFO *( STDMETHODCALLTYPE *GetResourceAllocationInfo3 )(
- ID3D12Device13 * This,
- D3D12_RESOURCE_ALLOCATION_INFO * RetVal,
- UINT visibleMask,
- UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC1 *pResourceDescs,
- _In_opt_count_(numResourceDescs) const UINT32 *pNumCastableFormats,
- _In_opt_count_(numResourceDescs) const DXGI_FORMAT *const *ppCastableFormats,
- _Out_writes_opt_(numResourceDescs) D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1);
-
- #endif
-
- DECLSPEC_XFGVIRT(ID3D12Device13, OpenExistingHeapFromAddress1)
- HRESULT ( STDMETHODCALLTYPE *OpenExistingHeapFromAddress1 )(
- ID3D12Device13 * This,
- _In_ const void *pAddress,
- SIZE_T size,
- REFIID riid,
- _COM_Outptr_ void **ppvHeap);
-
- END_INTERFACE
- } ID3D12Device13Vtbl;
- interface ID3D12Device13
- {
- CONST_VTBL struct ID3D12Device13Vtbl *lpVtbl;
- };
-
- #ifdef COBJMACROS
- #define ID3D12Device13_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define ID3D12Device13_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define ID3D12Device13_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #define ID3D12Device13_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
- #define ID3D12Device13_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
- #define ID3D12Device13_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
- #define ID3D12Device13_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
- #define ID3D12Device13_GetNodeCount(This) \
- ( (This)->lpVtbl -> GetNodeCount(This) )
- #define ID3D12Device13_CreateCommandQueue(This,pDesc,riid,ppCommandQueue) \
- ( (This)->lpVtbl -> CreateCommandQueue(This,pDesc,riid,ppCommandQueue) )
- #define ID3D12Device13_CreateCommandAllocator(This,type,riid,ppCommandAllocator) \
- ( (This)->lpVtbl -> CreateCommandAllocator(This,type,riid,ppCommandAllocator) )
- #define ID3D12Device13_CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) \
- ( (This)->lpVtbl -> CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) )
- #define ID3D12Device13_CreateComputePipelineState(This,pDesc,riid,ppPipelineState) \
- ( (This)->lpVtbl -> CreateComputePipelineState(This,pDesc,riid,ppPipelineState) )
- #define ID3D12Device13_CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) \
- ( (This)->lpVtbl -> CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) )
- #define ID3D12Device13_CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) \
- ( (This)->lpVtbl -> CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) )
- #define ID3D12Device13_CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) \
- ( (This)->lpVtbl -> CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) )
- #define ID3D12Device13_GetDescriptorHandleIncrementSize(This,DescriptorHeapType) \
- ( (This)->lpVtbl -> GetDescriptorHandleIncrementSize(This,DescriptorHeapType) )
- #define ID3D12Device13_CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) \
- ( (This)->lpVtbl -> CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) )
- #define ID3D12Device13_CreateConstantBufferView(This,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateConstantBufferView(This,pDesc,DestDescriptor) )
- #define ID3D12Device13_CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) )
- #define ID3D12Device13_CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) )
- #define ID3D12Device13_CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) )
- #define ID3D12Device13_CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) )
- #define ID3D12Device13_CreateSampler(This,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateSampler(This,pDesc,DestDescriptor) )
- #define ID3D12Device13_CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) \
- ( (This)->lpVtbl -> CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) )
- #define ID3D12Device13_CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) \
- ( (This)->lpVtbl -> CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) )
- #if !defined(_WIN32)
- #define ID3D12Device13_GetResourceAllocationInfo(This,visibleMask,numResourceDescs,pResourceDescs) \
- ( (This)->lpVtbl -> GetResourceAllocationInfo(This,visibleMask,numResourceDescs,pResourceDescs) )
- #else
- #define ID3D12Device13_GetResourceAllocationInfo(This,RetVal,visibleMask,numResourceDescs,pResourceDescs) \
- ( (This)->lpVtbl -> GetResourceAllocationInfo(This,RetVal,visibleMask,numResourceDescs,pResourceDescs) )
- #endif
- #if !defined(_WIN32)
- #define ID3D12Device13_GetCustomHeapProperties(This,nodeMask,heapType) \
- ( (This)->lpVtbl -> GetCustomHeapProperties(This,nodeMask,heapType) )
- #else
- #define ID3D12Device13_GetCustomHeapProperties(This,RetVal,nodeMask,heapType) \
- ( (This)->lpVtbl -> GetCustomHeapProperties(This,RetVal,nodeMask,heapType) )
- #endif
- #define ID3D12Device13_CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) \
- ( (This)->lpVtbl -> CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) )
- #define ID3D12Device13_CreateHeap(This,pDesc,riid,ppvHeap) \
- ( (This)->lpVtbl -> CreateHeap(This,pDesc,riid,ppvHeap) )
- #define ID3D12Device13_CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
- ( (This)->lpVtbl -> CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
- #define ID3D12Device13_CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
- ( (This)->lpVtbl -> CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
- #define ID3D12Device13_CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) \
- ( (This)->lpVtbl -> CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) )
- #define ID3D12Device13_OpenSharedHandle(This,NTHandle,riid,ppvObj) \
- ( (This)->lpVtbl -> OpenSharedHandle(This,NTHandle,riid,ppvObj) )
- #define ID3D12Device13_OpenSharedHandleByName(This,Name,Access,pNTHandle) \
- ( (This)->lpVtbl -> OpenSharedHandleByName(This,Name,Access,pNTHandle) )
- #define ID3D12Device13_MakeResident(This,NumObjects,ppObjects) \
- ( (This)->lpVtbl -> MakeResident(This,NumObjects,ppObjects) )
- #define ID3D12Device13_Evict(This,NumObjects,ppObjects) \
- ( (This)->lpVtbl -> Evict(This,NumObjects,ppObjects) )
- #define ID3D12Device13_CreateFence(This,InitialValue,Flags,riid,ppFence) \
- ( (This)->lpVtbl -> CreateFence(This,InitialValue,Flags,riid,ppFence) )
- #define ID3D12Device13_GetDeviceRemovedReason(This) \
- ( (This)->lpVtbl -> GetDeviceRemovedReason(This) )
- #define ID3D12Device13_GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) \
- ( (This)->lpVtbl -> GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) )
- #define ID3D12Device13_CreateQueryHeap(This,pDesc,riid,ppvHeap) \
- ( (This)->lpVtbl -> CreateQueryHeap(This,pDesc,riid,ppvHeap) )
- #define ID3D12Device13_SetStablePowerState(This,Enable) \
- ( (This)->lpVtbl -> SetStablePowerState(This,Enable) )
- #define ID3D12Device13_CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) \
- ( (This)->lpVtbl -> CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) )
- #define ID3D12Device13_GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) \
- ( (This)->lpVtbl -> GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) )
- #if !defined(_WIN32)
- #define ID3D12Device13_GetAdapterLuid(This) \
- ( (This)->lpVtbl -> GetAdapterLuid(This) )
- #else
- #define ID3D12Device13_GetAdapterLuid(This,RetVal) \
- ( (This)->lpVtbl -> GetAdapterLuid(This,RetVal) )
- #endif
- #define ID3D12Device13_CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) \
- ( (This)->lpVtbl -> CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) )
- #define ID3D12Device13_SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) \
- ( (This)->lpVtbl -> SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) )
- #define ID3D12Device13_SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) \
- ( (This)->lpVtbl -> SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) )
- #define ID3D12Device13_CreatePipelineState(This,pDesc,riid,ppPipelineState) \
- ( (This)->lpVtbl -> CreatePipelineState(This,pDesc,riid,ppPipelineState) )
- #define ID3D12Device13_OpenExistingHeapFromAddress(This,pAddress,riid,ppvHeap) \
- ( (This)->lpVtbl -> OpenExistingHeapFromAddress(This,pAddress,riid,ppvHeap) )
- #define ID3D12Device13_OpenExistingHeapFromFileMapping(This,hFileMapping,riid,ppvHeap) \
- ( (This)->lpVtbl -> OpenExistingHeapFromFileMapping(This,hFileMapping,riid,ppvHeap) )
- #define ID3D12Device13_EnqueueMakeResident(This,Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) \
- ( (This)->lpVtbl -> EnqueueMakeResident(This,Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) )
- #define ID3D12Device13_CreateCommandList1(This,nodeMask,type,flags,riid,ppCommandList) \
- ( (This)->lpVtbl -> CreateCommandList1(This,nodeMask,type,flags,riid,ppCommandList) )
- #define ID3D12Device13_CreateProtectedResourceSession(This,pDesc,riid,ppSession) \
- ( (This)->lpVtbl -> CreateProtectedResourceSession(This,pDesc,riid,ppSession) )
- #define ID3D12Device13_CreateCommittedResource1(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) \
- ( (This)->lpVtbl -> CreateCommittedResource1(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) )
- #define ID3D12Device13_CreateHeap1(This,pDesc,pProtectedSession,riid,ppvHeap) \
- ( (This)->lpVtbl -> CreateHeap1(This,pDesc,pProtectedSession,riid,ppvHeap) )
- #define ID3D12Device13_CreateReservedResource1(This,pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) \
- ( (This)->lpVtbl -> CreateReservedResource1(This,pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) )
- #if !defined(_WIN32)
- #define ID3D12Device13_GetResourceAllocationInfo1(This,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) \
- ( (This)->lpVtbl -> GetResourceAllocationInfo1(This,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) )
- #else
- #define ID3D12Device13_GetResourceAllocationInfo1(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) \
- ( (This)->lpVtbl -> GetResourceAllocationInfo1(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) )
- #endif
- #define ID3D12Device13_CreateLifetimeTracker(This,pOwner,riid,ppvTracker) \
- ( (This)->lpVtbl -> CreateLifetimeTracker(This,pOwner,riid,ppvTracker) )
- #define ID3D12Device13_RemoveDevice(This) \
- ( (This)->lpVtbl -> RemoveDevice(This) )
- #define ID3D12Device13_EnumerateMetaCommands(This,pNumMetaCommands,pDescs) \
- ( (This)->lpVtbl -> EnumerateMetaCommands(This,pNumMetaCommands,pDescs) )
- #define ID3D12Device13_EnumerateMetaCommandParameters(This,CommandId,Stage,pTotalStructureSizeInBytes,pParameterCount,pParameterDescs) \
- ( (This)->lpVtbl -> EnumerateMetaCommandParameters(This,CommandId,Stage,pTotalStructureSizeInBytes,pParameterCount,pParameterDescs) )
- #define ID3D12Device13_CreateMetaCommand(This,CommandId,NodeMask,pCreationParametersData,CreationParametersDataSizeInBytes,riid,ppMetaCommand) \
- ( (This)->lpVtbl -> CreateMetaCommand(This,CommandId,NodeMask,pCreationParametersData,CreationParametersDataSizeInBytes,riid,ppMetaCommand) )
- #define ID3D12Device13_CreateStateObject(This,pDesc,riid,ppStateObject) \
- ( (This)->lpVtbl -> CreateStateObject(This,pDesc,riid,ppStateObject) )
- #define ID3D12Device13_GetRaytracingAccelerationStructurePrebuildInfo(This,pDesc,pInfo) \
- ( (This)->lpVtbl -> GetRaytracingAccelerationStructurePrebuildInfo(This,pDesc,pInfo) )
- #define ID3D12Device13_CheckDriverMatchingIdentifier(This,SerializedDataType,pIdentifierToCheck) \
- ( (This)->lpVtbl -> CheckDriverMatchingIdentifier(This,SerializedDataType,pIdentifierToCheck) )
- #define ID3D12Device13_SetBackgroundProcessingMode(This,Mode,MeasurementsAction,hEventToSignalUponCompletion,pbFurtherMeasurementsDesired) \
- ( (This)->lpVtbl -> SetBackgroundProcessingMode(This,Mode,MeasurementsAction,hEventToSignalUponCompletion,pbFurtherMeasurementsDesired) )
- #define ID3D12Device13_AddToStateObject(This,pAddition,pStateObjectToGrowFrom,riid,ppNewStateObject) \
- ( (This)->lpVtbl -> AddToStateObject(This,pAddition,pStateObjectToGrowFrom,riid,ppNewStateObject) )
- #define ID3D12Device13_CreateProtectedResourceSession1(This,pDesc,riid,ppSession) \
- ( (This)->lpVtbl -> CreateProtectedResourceSession1(This,pDesc,riid,ppSession) )
- #if !defined(_WIN32)
- #define ID3D12Device13_GetResourceAllocationInfo2(This,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) \
- ( (This)->lpVtbl -> GetResourceAllocationInfo2(This,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) )
- #else
- #define ID3D12Device13_GetResourceAllocationInfo2(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) \
- ( (This)->lpVtbl -> GetResourceAllocationInfo2(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pResourceAllocationInfo1) )
- #endif
- #define ID3D12Device13_CreateCommittedResource2(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) \
- ( (This)->lpVtbl -> CreateCommittedResource2(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) )
- #define ID3D12Device13_CreatePlacedResource1(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
- ( (This)->lpVtbl -> CreatePlacedResource1(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
- #define ID3D12Device13_CreateSamplerFeedbackUnorderedAccessView(This,pTargetedResource,pFeedbackResource,DestDescriptor) \
- ( (This)->lpVtbl -> CreateSamplerFeedbackUnorderedAccessView(This,pTargetedResource,pFeedbackResource,DestDescriptor) )
- #define ID3D12Device13_GetCopyableFootprints1(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) \
- ( (This)->lpVtbl -> GetCopyableFootprints1(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) )
- #define ID3D12Device13_CreateShaderCacheSession(This,pDesc,riid,ppvSession) \
- ( (This)->lpVtbl -> CreateShaderCacheSession(This,pDesc,riid,ppvSession) )
- #define ID3D12Device13_ShaderCacheControl(This,Kinds,Control) \
- ( (This)->lpVtbl -> ShaderCacheControl(This,Kinds,Control) )
- #define ID3D12Device13_CreateCommandQueue1(This,pDesc,CreatorID,riid,ppCommandQueue) \
- ( (This)->lpVtbl -> CreateCommandQueue1(This,pDesc,CreatorID,riid,ppCommandQueue) )
- #define ID3D12Device13_CreateCommittedResource3(This,pHeapProperties,HeapFlags,pDesc,InitialLayout,pOptimizedClearValue,pProtectedSession,NumCastableFormats,pCastableFormats,riidResource,ppvResource) \
- ( (This)->lpVtbl -> CreateCommittedResource3(This,pHeapProperties,HeapFlags,pDesc,InitialLayout,pOptimizedClearValue,pProtectedSession,NumCastableFormats,pCastableFormats,riidResource,ppvResource) )
- #define ID3D12Device13_CreatePlacedResource2(This,pHeap,HeapOffset,pDesc,InitialLayout,pOptimizedClearValue,NumCastableFormats,pCastableFormats,riid,ppvResource) \
- ( (This)->lpVtbl -> CreatePlacedResource2(This,pHeap,HeapOffset,pDesc,InitialLayout,pOptimizedClearValue,NumCastableFormats,pCastableFormats,riid,ppvResource) )
- #define ID3D12Device13_CreateReservedResource2(This,pDesc,InitialLayout,pOptimizedClearValue,pProtectedSession,NumCastableFormats,pCastableFormats,riid,ppvResource) \
- ( (This)->lpVtbl -> CreateReservedResource2(This,pDesc,InitialLayout,pOptimizedClearValue,pProtectedSession,NumCastableFormats,pCastableFormats,riid,ppvResource) )
- #define ID3D12Device13_CreateSampler2(This,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateSampler2(This,pDesc,DestDescriptor) )
- #if !defined(_WIN32)
- #define ID3D12Device13_GetResourceAllocationInfo3(This,visibleMask,numResourceDescs,pResourceDescs,pNumCastableFormats,ppCastableFormats,pResourceAllocationInfo1) \
- ( (This)->lpVtbl -> GetResourceAllocationInfo3(This,visibleMask,numResourceDescs,pResourceDescs,pNumCastableFormats,ppCastableFormats,pResourceAllocationInfo1) )
- #else
- #define ID3D12Device13_GetResourceAllocationInfo3(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pNumCastableFormats,ppCastableFormats,pResourceAllocationInfo1) \
- ( (This)->lpVtbl -> GetResourceAllocationInfo3(This,RetVal,visibleMask,numResourceDescs,pResourceDescs,pNumCastableFormats,ppCastableFormats,pResourceAllocationInfo1) )
- #endif
- #define ID3D12Device13_OpenExistingHeapFromAddress1(This,pAddress,size,riid,ppvHeap) \
- ( (This)->lpVtbl -> OpenExistingHeapFromAddress1(This,pAddress,size,riid,ppvHeap) )
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __ID3D12Device13_INTERFACE_DEFINED__ */
- #ifndef __ID3D12VirtualizationGuestDevice_INTERFACE_DEFINED__
- #define __ID3D12VirtualizationGuestDevice_INTERFACE_DEFINED__
- /* interface ID3D12VirtualizationGuestDevice */
- /* [unique][local][object][uuid] */
- EXTERN_C const IID IID_ID3D12VirtualizationGuestDevice;
- #if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("bc66d368-7373-4943-8757-fc87dc79e476")
- ID3D12VirtualizationGuestDevice : public IUnknown
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE ShareWithHost(
- _In_ ID3D12DeviceChild *pObject,
- _Out_ HANDLE *pHandle) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE CreateFenceFd(
- _In_ ID3D12Fence *pFence,
- UINT64 FenceValue,
- _Out_ int *pFenceFd) = 0;
-
- };
-
-
- #else /* C style interface */
- typedef struct ID3D12VirtualizationGuestDeviceVtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12VirtualizationGuestDevice * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12VirtualizationGuestDevice * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12VirtualizationGuestDevice * This);
-
- DECLSPEC_XFGVIRT(ID3D12VirtualizationGuestDevice, ShareWithHost)
- HRESULT ( STDMETHODCALLTYPE *ShareWithHost )(
- ID3D12VirtualizationGuestDevice * This,
- _In_ ID3D12DeviceChild *pObject,
- _Out_ HANDLE *pHandle);
-
- DECLSPEC_XFGVIRT(ID3D12VirtualizationGuestDevice, CreateFenceFd)
- HRESULT ( STDMETHODCALLTYPE *CreateFenceFd )(
- ID3D12VirtualizationGuestDevice * This,
- _In_ ID3D12Fence *pFence,
- UINT64 FenceValue,
- _Out_ int *pFenceFd);
-
- END_INTERFACE
- } ID3D12VirtualizationGuestDeviceVtbl;
- interface ID3D12VirtualizationGuestDevice
- {
- CONST_VTBL struct ID3D12VirtualizationGuestDeviceVtbl *lpVtbl;
- };
-
- #ifdef COBJMACROS
- #define ID3D12VirtualizationGuestDevice_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define ID3D12VirtualizationGuestDevice_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define ID3D12VirtualizationGuestDevice_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #define ID3D12VirtualizationGuestDevice_ShareWithHost(This,pObject,pHandle) \
- ( (This)->lpVtbl -> ShareWithHost(This,pObject,pHandle) )
- #define ID3D12VirtualizationGuestDevice_CreateFenceFd(This,pFence,FenceValue,pFenceFd) \
- ( (This)->lpVtbl -> CreateFenceFd(This,pFence,FenceValue,pFenceFd) )
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __ID3D12VirtualizationGuestDevice_INTERFACE_DEFINED__ */
- #ifndef __ID3D12Tools_INTERFACE_DEFINED__
- #define __ID3D12Tools_INTERFACE_DEFINED__
- /* interface ID3D12Tools */
- /* [unique][local][object][uuid] */
- EXTERN_C const IID IID_ID3D12Tools;
- #if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("7071e1f0-e84b-4b33-974f-12fa49de65c5")
- ID3D12Tools : public IUnknown
- {
- public:
- virtual void STDMETHODCALLTYPE EnableShaderInstrumentation(
- BOOL bEnable) = 0;
-
- virtual BOOL STDMETHODCALLTYPE ShaderInstrumentationEnabled( void) = 0;
-
- };
-
-
- #else /* C style interface */
- typedef struct ID3D12ToolsVtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12Tools * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12Tools * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12Tools * This);
-
- DECLSPEC_XFGVIRT(ID3D12Tools, EnableShaderInstrumentation)
- void ( STDMETHODCALLTYPE *EnableShaderInstrumentation )(
- ID3D12Tools * This,
- BOOL bEnable);
-
- DECLSPEC_XFGVIRT(ID3D12Tools, ShaderInstrumentationEnabled)
- BOOL ( STDMETHODCALLTYPE *ShaderInstrumentationEnabled )(
- ID3D12Tools * This);
-
- END_INTERFACE
- } ID3D12ToolsVtbl;
- interface ID3D12Tools
- {
- CONST_VTBL struct ID3D12ToolsVtbl *lpVtbl;
- };
-
- #ifdef COBJMACROS
- #define ID3D12Tools_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define ID3D12Tools_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define ID3D12Tools_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #define ID3D12Tools_EnableShaderInstrumentation(This,bEnable) \
- ( (This)->lpVtbl -> EnableShaderInstrumentation(This,bEnable) )
- #define ID3D12Tools_ShaderInstrumentationEnabled(This) \
- ( (This)->lpVtbl -> ShaderInstrumentationEnabled(This) )
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __ID3D12Tools_INTERFACE_DEFINED__ */
- /* interface __MIDL_itf_d3d12_0000_0059 */
- /* [local] */
- typedef struct D3D12_SUBRESOURCE_DATA
- {
- const void *pData;
- LONG_PTR RowPitch;
- LONG_PTR SlicePitch;
- } D3D12_SUBRESOURCE_DATA;
- typedef struct D3D12_MEMCPY_DEST
- {
- void *pData;
- SIZE_T RowPitch;
- SIZE_T SlicePitch;
- } D3D12_MEMCPY_DEST;
- #if !defined( D3D12_IGNORE_SDK_LAYERS )
- #include "d3d12sdklayers.h"
- #endif
- ///////////////////////////////////////////////////////////////////////////
- // D3D12CreateDevice
- // ------------------
- //
- // pAdapter
- // If NULL, D3D12CreateDevice will choose the primary adapter.
- // If non-NULL, D3D12CreateDevice will use the provided adapter.
- // MinimumFeatureLevel
- // The minimum feature level required for successful device creation.
- // riid
- // The interface IID of the device to be returned. Expected: ID3D12Device.
- // ppDevice
- // Pointer to returned interface. May be NULL.
- //
- // Return Values
- // Any of those documented for
- // CreateDXGIFactory1
- // IDXGIFactory::EnumAdapters
- // D3D12CreateDevice
- //
- ///////////////////////////////////////////////////////////////////////////
- typedef HRESULT (WINAPI* PFN_D3D12_CREATE_DEVICE)( _In_opt_ IUnknown*,
- D3D_FEATURE_LEVEL,
- _In_ REFIID, _COM_Outptr_opt_ void** );
- HRESULT WINAPI D3D12CreateDevice(
- _In_opt_ IUnknown* pAdapter,
- D3D_FEATURE_LEVEL MinimumFeatureLevel,
- _In_ REFIID riid, // Expected: ID3D12Device
- _COM_Outptr_opt_ void** ppDevice );
- typedef HRESULT (WINAPI* PFN_D3D12_GET_DEBUG_INTERFACE)( _In_ REFIID, _COM_Outptr_opt_ void** );
- HRESULT WINAPI D3D12GetDebugInterface( _In_ REFIID riid, _COM_Outptr_opt_ void** ppvDebug );
- // --------------------------------------------------------------------------------------------------------------------------------
- // D3D12EnableExperimentalFeatures
- //
- // Pass in a list of feature GUIDs to be enabled together.
- //
- // If a particular feature requires some configuration information on enablement, it will have
- // a configuration struct that can be passed alongside the GUID.
- //
- // Some features might use an interface IID as the GUID. For these, once the feature is enabled via
- // D3D12EnableExperimentalFeatures, D3D12GetDebugInterface can then be called with the IID to retrieve the interface
- // for manipulating the feature. This allows for control that might not cleanly be expressed by just
- // the configuration struct that D3D12EnableExperimentalFeatures provides.
- //
- // If this method is called and a change to existing feature enablement is made,
- // all current D3D12 devices are set to DEVICE_REMOVED state, since under the covers there is really only one
- // singleton device for a process. Removing the devices when configuration changes prevents
- // mismatched expectations of how a device is supposed to work after it has been created from the app's point of view.
- //
- // The call returns E_NOINTERFACE if an unrecognized feature is passed in or Windows Developer mode is not on.
- // The call returns E_INVALIDARG if the configuration of a feature is incorrect, the set of features passed
- // in are known to be incompatible with each other, or other errors.
- // Returns S_OK otherwise.
- //
- // --------------------------------------------------------------------------------------------------------------------------------
- HRESULT WINAPI D3D12EnableExperimentalFeatures(
- UINT NumFeatures,
- _In_count_(NumFeatures) const IID* pIIDs,
- _In_opt_count_(NumFeatures) void* pConfigurationStructs,
- _In_opt_count_(NumFeatures) UINT* pConfigurationStructSizes);
- // --------------------------------------------------------------------------------------------------------------------------------
- // Experimental Feature: D3D12ExperimentalShaderModels
- //
- // Use with D3D12EnableExperimentalFeatures to enable experimental shader model support,
- // meaning shader models that haven't been finalized for use in retail.
- //
- // Enabling D3D12ExperimentalShaderModels needs no configuration struct, pass NULL in the pConfigurationStructs array.
- //
- // --------------------------------------------------------------------------------------------------------------------------------
- static const UUID D3D12ExperimentalShaderModels = { /* 76f5573e-f13a-40f5-b297-81ce9e18933f */
- 0x76f5573e,
- 0xf13a,
- 0x40f5,
- { 0xb2, 0x97, 0x81, 0xce, 0x9e, 0x18, 0x93, 0x3f }
- };
- // --------------------------------------------------------------------------------------------------------------------------------
- // Experimental Feature: D3D12TiledResourceTier4
- //
- // Use with D3D12EnableExperimentalFeatures to enable tiled resource tier 4 support,
- // meaning texture tile data-inheritance is allowed.
- //
- // Enabling D3D12TiledResourceTier4 needs no configuration struct, pass NULL in the pConfigurationStructs array.
- //
- // --------------------------------------------------------------------------------------------------------------------------------
- static const UUID D3D12TiledResourceTier4 = { /* c9c4725f-a81a-4f56-8c5b-c51039d694fb */
- 0xc9c4725f,
- 0xa81a,
- 0x4f56,
- { 0x8c, 0x5b, 0xc5, 0x10, 0x39, 0xd6, 0x94, 0xfb }
- };
- // --------------------------------------------------------------------------------------------------------------------------------
- // D3D12GetInterface
- //
- // Retrieve Global D3D12 Interface.
- //
- DEFINE_GUID(CLSID_D3D12Debug, 0xf2352aeb, 0xdd84, 0x49fe, 0xb9, 0x7b, 0xa9, 0xdc, 0xfd, 0xcc, 0x1b, 0x4f);
- DEFINE_GUID(CLSID_D3D12Tools, 0xe38216b1, 0x3c8c, 0x4833, 0xaa, 0x09, 0x0a, 0x06, 0xb6, 0x5d, 0x96, 0xc8);
- DEFINE_GUID(CLSID_D3D12DeviceRemovedExtendedData, 0x4a75bbc4, 0x9ff4, 0x4ad8, 0x9f, 0x18, 0xab, 0xae, 0x84, 0xdc, 0x5f, 0xf2);
- DEFINE_GUID(CLSID_D3D12SDKConfiguration, 0x7cda6aca, 0xa03e, 0x49c8, 0x94, 0x58, 0x03, 0x34, 0xd2, 0x0e, 0x07, 0xce);
- DEFINE_GUID(CLSID_D3D12DeviceFactory, 0x114863bf, 0xc386, 0x4aee, 0xb3, 0x9d, 0x8f, 0x0b, 0xbb, 0x06, 0x29, 0x55);
- typedef HRESULT (WINAPI* PFN_D3D12_GET_INTERFACE)( _In_ REFCLSID, _In_ REFIID, _COM_Outptr_opt_ void** );
- HRESULT WINAPI D3D12GetInterface( _In_ REFCLSID rclsid, _In_ REFIID riid, _COM_Outptr_opt_ void** ppvDebug );
- extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0059_v0_0_c_ifspec;
- extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0059_v0_0_s_ifspec;
- #ifndef __ID3D12SDKConfiguration_INTERFACE_DEFINED__
- #define __ID3D12SDKConfiguration_INTERFACE_DEFINED__
- /* interface ID3D12SDKConfiguration */
- /* [unique][local][object][uuid] */
- EXTERN_C const IID IID_ID3D12SDKConfiguration;
- #if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("e9eb5314-33aa-42b2-a718-d77f58b1f1c7")
- ID3D12SDKConfiguration : public IUnknown
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE SetSDKVersion(
- UINT SDKVersion,
- _In_z_ LPCSTR SDKPath) = 0;
-
- };
-
-
- #else /* C style interface */
- typedef struct ID3D12SDKConfigurationVtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12SDKConfiguration * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12SDKConfiguration * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12SDKConfiguration * This);
-
- DECLSPEC_XFGVIRT(ID3D12SDKConfiguration, SetSDKVersion)
- HRESULT ( STDMETHODCALLTYPE *SetSDKVersion )(
- ID3D12SDKConfiguration * This,
- UINT SDKVersion,
- _In_z_ LPCSTR SDKPath);
-
- END_INTERFACE
- } ID3D12SDKConfigurationVtbl;
- interface ID3D12SDKConfiguration
- {
- CONST_VTBL struct ID3D12SDKConfigurationVtbl *lpVtbl;
- };
-
- #ifdef COBJMACROS
- #define ID3D12SDKConfiguration_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define ID3D12SDKConfiguration_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define ID3D12SDKConfiguration_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #define ID3D12SDKConfiguration_SetSDKVersion(This,SDKVersion,SDKPath) \
- ( (This)->lpVtbl -> SetSDKVersion(This,SDKVersion,SDKPath) )
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __ID3D12SDKConfiguration_INTERFACE_DEFINED__ */
- #ifndef __ID3D12SDKConfiguration1_INTERFACE_DEFINED__
- #define __ID3D12SDKConfiguration1_INTERFACE_DEFINED__
- /* interface ID3D12SDKConfiguration1 */
- /* [unique][local][object][uuid] */
- EXTERN_C const IID IID_ID3D12SDKConfiguration1;
- #if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("8aaf9303-ad25-48b9-9a57-d9c37e009d9f")
- ID3D12SDKConfiguration1 : public ID3D12SDKConfiguration
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE CreateDeviceFactory(
- UINT SDKVersion,
- _In_ LPCSTR SDKPath,
- REFIID riid,
- _COM_Outptr_ void **ppvFactory) = 0;
-
- virtual void STDMETHODCALLTYPE FreeUnusedSDKs( void) = 0;
-
- };
-
-
- #else /* C style interface */
- typedef struct ID3D12SDKConfiguration1Vtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12SDKConfiguration1 * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12SDKConfiguration1 * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12SDKConfiguration1 * This);
-
- DECLSPEC_XFGVIRT(ID3D12SDKConfiguration, SetSDKVersion)
- HRESULT ( STDMETHODCALLTYPE *SetSDKVersion )(
- ID3D12SDKConfiguration1 * This,
- UINT SDKVersion,
- _In_z_ LPCSTR SDKPath);
-
- DECLSPEC_XFGVIRT(ID3D12SDKConfiguration1, CreateDeviceFactory)
- HRESULT ( STDMETHODCALLTYPE *CreateDeviceFactory )(
- ID3D12SDKConfiguration1 * This,
- UINT SDKVersion,
- _In_ LPCSTR SDKPath,
- REFIID riid,
- _COM_Outptr_ void **ppvFactory);
-
- DECLSPEC_XFGVIRT(ID3D12SDKConfiguration1, FreeUnusedSDKs)
- void ( STDMETHODCALLTYPE *FreeUnusedSDKs )(
- ID3D12SDKConfiguration1 * This);
-
- END_INTERFACE
- } ID3D12SDKConfiguration1Vtbl;
- interface ID3D12SDKConfiguration1
- {
- CONST_VTBL struct ID3D12SDKConfiguration1Vtbl *lpVtbl;
- };
-
- #ifdef COBJMACROS
- #define ID3D12SDKConfiguration1_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define ID3D12SDKConfiguration1_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define ID3D12SDKConfiguration1_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #define ID3D12SDKConfiguration1_SetSDKVersion(This,SDKVersion,SDKPath) \
- ( (This)->lpVtbl -> SetSDKVersion(This,SDKVersion,SDKPath) )
- #define ID3D12SDKConfiguration1_CreateDeviceFactory(This,SDKVersion,SDKPath,riid,ppvFactory) \
- ( (This)->lpVtbl -> CreateDeviceFactory(This,SDKVersion,SDKPath,riid,ppvFactory) )
- #define ID3D12SDKConfiguration1_FreeUnusedSDKs(This) \
- ( (This)->lpVtbl -> FreeUnusedSDKs(This) )
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __ID3D12SDKConfiguration1_INTERFACE_DEFINED__ */
- /* interface __MIDL_itf_d3d12_0000_0061 */
- /* [local] */
- typedef
- enum D3D12_DEVICE_FACTORY_FLAGS
- {
- D3D12_DEVICE_FACTORY_FLAG_NONE = 0,
- D3D12_DEVICE_FACTORY_FLAG_ALLOW_RETURNING_EXISTING_DEVICE = 0x1,
- D3D12_DEVICE_FACTORY_FLAG_ALLOW_RETURNING_INCOMPATIBLE_EXISTING_DEVICE = 0x2,
- D3D12_DEVICE_FACTORY_FLAG_DISALLOW_STORING_NEW_DEVICE_AS_SINGLETON = 0x4
- } D3D12_DEVICE_FACTORY_FLAGS;
- DEFINE_ENUM_FLAG_OPERATORS( D3D12_DEVICE_FACTORY_FLAGS );
- extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0061_v0_0_c_ifspec;
- extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0061_v0_0_s_ifspec;
- #ifndef __ID3D12DeviceFactory_INTERFACE_DEFINED__
- #define __ID3D12DeviceFactory_INTERFACE_DEFINED__
- /* interface ID3D12DeviceFactory */
- /* [unique][local][object][uuid] */
- EXTERN_C const IID IID_ID3D12DeviceFactory;
- #if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("61f307d3-d34e-4e7c-8374-3ba4de23cccb")
- ID3D12DeviceFactory : public IUnknown
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE InitializeFromGlobalState( void) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE ApplyToGlobalState( void) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE SetFlags(
- D3D12_DEVICE_FACTORY_FLAGS flags) = 0;
-
- virtual D3D12_DEVICE_FACTORY_FLAGS STDMETHODCALLTYPE GetFlags( void) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetConfigurationInterface(
- REFCLSID clsid,
- REFIID iid,
- _COM_Outptr_ void **ppv) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE EnableExperimentalFeatures(
- UINT NumFeatures,
- _In_reads_(NumFeatures) const IID *pIIDs,
- _In_reads_opt_(NumFeatures) void *pConfigurationStructs,
- _In_reads_opt_(NumFeatures) UINT *pConfigurationStructSizes) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE CreateDevice(
- _In_opt_ IUnknown *adapter,
- D3D_FEATURE_LEVEL FeatureLevel,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvDevice) = 0;
-
- };
-
-
- #else /* C style interface */
- typedef struct ID3D12DeviceFactoryVtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12DeviceFactory * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12DeviceFactory * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12DeviceFactory * This);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceFactory, InitializeFromGlobalState)
- HRESULT ( STDMETHODCALLTYPE *InitializeFromGlobalState )(
- ID3D12DeviceFactory * This);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceFactory, ApplyToGlobalState)
- HRESULT ( STDMETHODCALLTYPE *ApplyToGlobalState )(
- ID3D12DeviceFactory * This);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceFactory, SetFlags)
- HRESULT ( STDMETHODCALLTYPE *SetFlags )(
- ID3D12DeviceFactory * This,
- D3D12_DEVICE_FACTORY_FLAGS flags);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceFactory, GetFlags)
- D3D12_DEVICE_FACTORY_FLAGS ( STDMETHODCALLTYPE *GetFlags )(
- ID3D12DeviceFactory * This);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceFactory, GetConfigurationInterface)
- HRESULT ( STDMETHODCALLTYPE *GetConfigurationInterface )(
- ID3D12DeviceFactory * This,
- REFCLSID clsid,
- REFIID iid,
- _COM_Outptr_ void **ppv);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceFactory, EnableExperimentalFeatures)
- HRESULT ( STDMETHODCALLTYPE *EnableExperimentalFeatures )(
- ID3D12DeviceFactory * This,
- UINT NumFeatures,
- _In_reads_(NumFeatures) const IID *pIIDs,
- _In_reads_opt_(NumFeatures) void *pConfigurationStructs,
- _In_reads_opt_(NumFeatures) UINT *pConfigurationStructSizes);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceFactory, CreateDevice)
- HRESULT ( STDMETHODCALLTYPE *CreateDevice )(
- ID3D12DeviceFactory * This,
- _In_opt_ IUnknown *adapter,
- D3D_FEATURE_LEVEL FeatureLevel,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvDevice);
-
- END_INTERFACE
- } ID3D12DeviceFactoryVtbl;
- interface ID3D12DeviceFactory
- {
- CONST_VTBL struct ID3D12DeviceFactoryVtbl *lpVtbl;
- };
-
- #ifdef COBJMACROS
- #define ID3D12DeviceFactory_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define ID3D12DeviceFactory_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define ID3D12DeviceFactory_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #define ID3D12DeviceFactory_InitializeFromGlobalState(This) \
- ( (This)->lpVtbl -> InitializeFromGlobalState(This) )
- #define ID3D12DeviceFactory_ApplyToGlobalState(This) \
- ( (This)->lpVtbl -> ApplyToGlobalState(This) )
- #define ID3D12DeviceFactory_SetFlags(This,flags) \
- ( (This)->lpVtbl -> SetFlags(This,flags) )
- #define ID3D12DeviceFactory_GetFlags(This) \
- ( (This)->lpVtbl -> GetFlags(This) )
- #define ID3D12DeviceFactory_GetConfigurationInterface(This,clsid,iid,ppv) \
- ( (This)->lpVtbl -> GetConfigurationInterface(This,clsid,iid,ppv) )
- #define ID3D12DeviceFactory_EnableExperimentalFeatures(This,NumFeatures,pIIDs,pConfigurationStructs,pConfigurationStructSizes) \
- ( (This)->lpVtbl -> EnableExperimentalFeatures(This,NumFeatures,pIIDs,pConfigurationStructs,pConfigurationStructSizes) )
- #define ID3D12DeviceFactory_CreateDevice(This,adapter,FeatureLevel,riid,ppvDevice) \
- ( (This)->lpVtbl -> CreateDevice(This,adapter,FeatureLevel,riid,ppvDevice) )
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __ID3D12DeviceFactory_INTERFACE_DEFINED__ */
- /* interface __MIDL_itf_d3d12_0000_0062 */
- /* [local] */
- typedef
- enum D3D12_DEVICE_FLAGS
- {
- D3D12_DEVICE_FLAG_NONE = 0,
- D3D12_DEVICE_FLAG_DEBUG_LAYER_ENABLED = 0x1,
- D3D12_DEVICE_FLAG_GPU_BASED_VALIDATION_ENABLED = 0x2,
- D3D12_DEVICE_FLAG_SYNCHRONIZED_COMMAND_QUEUE_VALIDATION_DISABLED = 0x4,
- D3D12_DEVICE_FLAG_DRED_AUTO_BREADCRUMBS_ENABLED = 0x8,
- D3D12_DEVICE_FLAG_DRED_PAGE_FAULT_REPORTING_ENABLED = 0x10,
- D3D12_DEVICE_FLAG_DRED_WATSON_REPORTING_ENABLED = 0x20,
- D3D12_DEVICE_FLAG_DRED_BREADCRUMB_CONTEXT_ENABLED = 0x40,
- D3D12_DEVICE_FLAG_DRED_USE_MARKERS_ONLY_BREADCRUMBS = 0x80,
- D3D12_DEVICE_FLAG_SHADER_INSTRUMENTATION_ENABLED = 0x100,
- D3D12_DEVICE_FLAG_AUTO_DEBUG_NAME_ENABLED = 0x200,
- D3D12_DEVICE_FLAG_FORCE_LEGACY_STATE_VALIDATION = 0x400
- } D3D12_DEVICE_FLAGS;
- DEFINE_ENUM_FLAG_OPERATORS( D3D12_DEVICE_FLAGS );
- typedef struct D3D12_DEVICE_CONFIGURATION_DESC
- {
- D3D12_DEVICE_FLAGS Flags;
- UINT GpuBasedValidationFlags;
- UINT SDKVersion;
- UINT NumEnabledExperimentalFeatures;
- } D3D12_DEVICE_CONFIGURATION_DESC;
- extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0062_v0_0_c_ifspec;
- extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0062_v0_0_s_ifspec;
- #ifndef __ID3D12DeviceConfiguration_INTERFACE_DEFINED__
- #define __ID3D12DeviceConfiguration_INTERFACE_DEFINED__
- /* interface ID3D12DeviceConfiguration */
- /* [unique][local][object][uuid] */
- EXTERN_C const IID IID_ID3D12DeviceConfiguration;
- #if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("78dbf87b-f766-422b-a61c-c8c446bdb9ad")
- ID3D12DeviceConfiguration : public IUnknown
- {
- public:
- #if defined(_MSC_VER) || !defined(_WIN32)
- virtual D3D12_DEVICE_CONFIGURATION_DESC STDMETHODCALLTYPE GetDesc( void) = 0;
- #else
- virtual D3D12_DEVICE_CONFIGURATION_DESC *STDMETHODCALLTYPE GetDesc(
- D3D12_DEVICE_CONFIGURATION_DESC * RetVal) = 0;
- #endif
-
- virtual HRESULT STDMETHODCALLTYPE GetEnabledExperimentalFeatures(
- _Out_writes_(NumGuids) GUID *pGuids,
- UINT NumGuids) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE SerializeVersionedRootSignature(
- _In_ const D3D12_VERSIONED_ROOT_SIGNATURE_DESC *pDesc,
- _COM_Outptr_ ID3DBlob **ppResult,
- _Always_(_Outptr_opt_result_maybenull_) ID3DBlob **ppError) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE CreateVersionedRootSignatureDeserializer(
- _In_reads_bytes_(Size) const void *pBlob,
- SIZE_T Size,
- REFIID riid,
- _COM_Outptr_ void **ppvDeserializer) = 0;
-
- };
-
-
- #else /* C style interface */
- typedef struct ID3D12DeviceConfigurationVtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12DeviceConfiguration * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12DeviceConfiguration * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12DeviceConfiguration * This);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceConfiguration, GetDesc)
- #if !defined(_WIN32)
- D3D12_DEVICE_CONFIGURATION_DESC ( STDMETHODCALLTYPE *GetDesc )(
- ID3D12DeviceConfiguration * This);
-
- #else
- D3D12_DEVICE_CONFIGURATION_DESC *( STDMETHODCALLTYPE *GetDesc )(
- ID3D12DeviceConfiguration * This,
- D3D12_DEVICE_CONFIGURATION_DESC * RetVal);
-
- #endif
-
- DECLSPEC_XFGVIRT(ID3D12DeviceConfiguration, GetEnabledExperimentalFeatures)
- HRESULT ( STDMETHODCALLTYPE *GetEnabledExperimentalFeatures )(
- ID3D12DeviceConfiguration * This,
- _Out_writes_(NumGuids) GUID *pGuids,
- UINT NumGuids);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceConfiguration, SerializeVersionedRootSignature)
- HRESULT ( STDMETHODCALLTYPE *SerializeVersionedRootSignature )(
- ID3D12DeviceConfiguration * This,
- _In_ const D3D12_VERSIONED_ROOT_SIGNATURE_DESC *pDesc,
- _COM_Outptr_ ID3DBlob **ppResult,
- _Always_(_Outptr_opt_result_maybenull_) ID3DBlob **ppError);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceConfiguration, CreateVersionedRootSignatureDeserializer)
- HRESULT ( STDMETHODCALLTYPE *CreateVersionedRootSignatureDeserializer )(
- ID3D12DeviceConfiguration * This,
- _In_reads_bytes_(Size) const void *pBlob,
- SIZE_T Size,
- REFIID riid,
- _COM_Outptr_ void **ppvDeserializer);
-
- END_INTERFACE
- } ID3D12DeviceConfigurationVtbl;
- interface ID3D12DeviceConfiguration
- {
- CONST_VTBL struct ID3D12DeviceConfigurationVtbl *lpVtbl;
- };
-
- #ifdef COBJMACROS
- #define ID3D12DeviceConfiguration_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define ID3D12DeviceConfiguration_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define ID3D12DeviceConfiguration_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #if !defined(_WIN32)
- #define ID3D12DeviceConfiguration_GetDesc(This) \
- ( (This)->lpVtbl -> GetDesc(This) )
- #else
- #define ID3D12DeviceConfiguration_GetDesc(This,RetVal) \
- ( (This)->lpVtbl -> GetDesc(This,RetVal) )
- #endif
- #define ID3D12DeviceConfiguration_GetEnabledExperimentalFeatures(This,pGuids,NumGuids) \
- ( (This)->lpVtbl -> GetEnabledExperimentalFeatures(This,pGuids,NumGuids) )
- #define ID3D12DeviceConfiguration_SerializeVersionedRootSignature(This,pDesc,ppResult,ppError) \
- ( (This)->lpVtbl -> SerializeVersionedRootSignature(This,pDesc,ppResult,ppError) )
- #define ID3D12DeviceConfiguration_CreateVersionedRootSignatureDeserializer(This,pBlob,Size,riid,ppvDeserializer) \
- ( (This)->lpVtbl -> CreateVersionedRootSignatureDeserializer(This,pBlob,Size,riid,ppvDeserializer) )
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __ID3D12DeviceConfiguration_INTERFACE_DEFINED__ */
- /* interface __MIDL_itf_d3d12_0000_0063 */
- /* [local] */
- typedef
- enum D3D12_AXIS_SHADING_RATE
- {
- D3D12_AXIS_SHADING_RATE_1X = 0,
- D3D12_AXIS_SHADING_RATE_2X = 0x1,
- D3D12_AXIS_SHADING_RATE_4X = 0x2
- } D3D12_AXIS_SHADING_RATE;
- #define D3D12_SHADING_RATE_X_AXIS_SHIFT 2
- #define D3D12_SHADING_RATE_VALID_MASK 3
- #define D3D12_MAKE_COARSE_SHADING_RATE(x,y) ((x) << D3D12_SHADING_RATE_X_AXIS_SHIFT | (y))
- #define D3D12_GET_COARSE_SHADING_RATE_X_AXIS(x) (((x) >> D3D12_SHADING_RATE_X_AXIS_SHIFT) & D3D12_SHADING_RATE_VALID_MASK)
- #define D3D12_GET_COARSE_SHADING_RATE_Y_AXIS(y) ((y) & D3D12_SHADING_RATE_VALID_MASK)
- typedef
- enum D3D12_SHADING_RATE
- {
- D3D12_SHADING_RATE_1X1 = 0,
- D3D12_SHADING_RATE_1X2 = 0x1,
- D3D12_SHADING_RATE_2X1 = 0x4,
- D3D12_SHADING_RATE_2X2 = 0x5,
- D3D12_SHADING_RATE_2X4 = 0x6,
- D3D12_SHADING_RATE_4X2 = 0x9,
- D3D12_SHADING_RATE_4X4 = 0xa
- } D3D12_SHADING_RATE;
- typedef
- enum D3D12_SHADING_RATE_COMBINER
- {
- D3D12_SHADING_RATE_COMBINER_PASSTHROUGH = 0,
- D3D12_SHADING_RATE_COMBINER_OVERRIDE = 1,
- D3D12_SHADING_RATE_COMBINER_MIN = 2,
- D3D12_SHADING_RATE_COMBINER_MAX = 3,
- D3D12_SHADING_RATE_COMBINER_SUM = 4
- } D3D12_SHADING_RATE_COMBINER;
- extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0063_v0_0_c_ifspec;
- extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0063_v0_0_s_ifspec;
- #ifndef __ID3D12GraphicsCommandList5_INTERFACE_DEFINED__
- #define __ID3D12GraphicsCommandList5_INTERFACE_DEFINED__
- /* interface ID3D12GraphicsCommandList5 */
- /* [unique][local][object][uuid] */
- EXTERN_C const IID IID_ID3D12GraphicsCommandList5;
- #if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("55050859-4024-474c-87f5-6472eaee44ea")
- ID3D12GraphicsCommandList5 : public ID3D12GraphicsCommandList4
- {
- public:
- virtual void STDMETHODCALLTYPE RSSetShadingRate(
- _In_ D3D12_SHADING_RATE baseShadingRate,
- _In_reads_opt_(D3D12_RS_SET_SHADING_RATE_COMBINER_COUNT) const D3D12_SHADING_RATE_COMBINER *combiners) = 0;
-
- virtual void STDMETHODCALLTYPE RSSetShadingRateImage(
- _In_opt_ ID3D12Resource *shadingRateImage) = 0;
-
- };
-
-
- #else /* C style interface */
- typedef struct ID3D12GraphicsCommandList5Vtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12GraphicsCommandList5 * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12GraphicsCommandList5 * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12GraphicsCommandList5 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12GraphicsCommandList5 * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12GraphicsCommandList5 * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12GraphicsCommandList5 * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetName)
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12GraphicsCommandList5 * This,
- _In_z_ LPCWSTR Name);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice)
- HRESULT ( STDMETHODCALLTYPE *GetDevice )(
- ID3D12GraphicsCommandList5 * This,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvDevice);
-
- DECLSPEC_XFGVIRT(ID3D12CommandList, GetType)
- D3D12_COMMAND_LIST_TYPE ( STDMETHODCALLTYPE *GetType )(
- ID3D12GraphicsCommandList5 * This);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, Close)
- HRESULT ( STDMETHODCALLTYPE *Close )(
- ID3D12GraphicsCommandList5 * This);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, Reset)
- HRESULT ( STDMETHODCALLTYPE *Reset )(
- ID3D12GraphicsCommandList5 * This,
- _In_ ID3D12CommandAllocator *pAllocator,
- _In_opt_ ID3D12PipelineState *pInitialState);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearState)
- void ( STDMETHODCALLTYPE *ClearState )(
- ID3D12GraphicsCommandList5 * This,
- _In_opt_ ID3D12PipelineState *pPipelineState);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, DrawInstanced)
- void ( STDMETHODCALLTYPE *DrawInstanced )(
- ID3D12GraphicsCommandList5 * This,
- _In_ UINT VertexCountPerInstance,
- _In_ UINT InstanceCount,
- _In_ UINT StartVertexLocation,
- _In_ UINT StartInstanceLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, DrawIndexedInstanced)
- void ( STDMETHODCALLTYPE *DrawIndexedInstanced )(
- ID3D12GraphicsCommandList5 * This,
- _In_ UINT IndexCountPerInstance,
- _In_ UINT InstanceCount,
- _In_ UINT StartIndexLocation,
- _In_ INT BaseVertexLocation,
- _In_ UINT StartInstanceLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, Dispatch)
- void ( STDMETHODCALLTYPE *Dispatch )(
- ID3D12GraphicsCommandList5 * This,
- _In_ UINT ThreadGroupCountX,
- _In_ UINT ThreadGroupCountY,
- _In_ UINT ThreadGroupCountZ);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyBufferRegion)
- void ( STDMETHODCALLTYPE *CopyBufferRegion )(
- ID3D12GraphicsCommandList5 * This,
- _In_ ID3D12Resource *pDstBuffer,
- UINT64 DstOffset,
- _In_ ID3D12Resource *pSrcBuffer,
- UINT64 SrcOffset,
- UINT64 NumBytes);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyTextureRegion)
- void ( STDMETHODCALLTYPE *CopyTextureRegion )(
- ID3D12GraphicsCommandList5 * This,
- _In_ const D3D12_TEXTURE_COPY_LOCATION *pDst,
- UINT DstX,
- UINT DstY,
- UINT DstZ,
- _In_ const D3D12_TEXTURE_COPY_LOCATION *pSrc,
- _In_opt_ const D3D12_BOX *pSrcBox);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyResource)
- void ( STDMETHODCALLTYPE *CopyResource )(
- ID3D12GraphicsCommandList5 * This,
- _In_ ID3D12Resource *pDstResource,
- _In_ ID3D12Resource *pSrcResource);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyTiles)
- void ( STDMETHODCALLTYPE *CopyTiles )(
- ID3D12GraphicsCommandList5 * This,
- _In_ ID3D12Resource *pTiledResource,
- _In_ const D3D12_TILED_RESOURCE_COORDINATE *pTileRegionStartCoordinate,
- _In_ const D3D12_TILE_REGION_SIZE *pTileRegionSize,
- _In_ ID3D12Resource *pBuffer,
- UINT64 BufferStartOffsetInBytes,
- D3D12_TILE_COPY_FLAGS Flags);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ResolveSubresource)
- void ( STDMETHODCALLTYPE *ResolveSubresource )(
- ID3D12GraphicsCommandList5 * This,
- _In_ ID3D12Resource *pDstResource,
- _In_ UINT DstSubresource,
- _In_ ID3D12Resource *pSrcResource,
- _In_ UINT SrcSubresource,
- _In_ DXGI_FORMAT Format);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, IASetPrimitiveTopology)
- void ( STDMETHODCALLTYPE *IASetPrimitiveTopology )(
- ID3D12GraphicsCommandList5 * This,
- _In_ D3D12_PRIMITIVE_TOPOLOGY PrimitiveTopology);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, RSSetViewports)
- void ( STDMETHODCALLTYPE *RSSetViewports )(
- ID3D12GraphicsCommandList5 * This,
- _In_range_(0, D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE) UINT NumViewports,
- _In_reads_( NumViewports) const D3D12_VIEWPORT *pViewports);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, RSSetScissorRects)
- void ( STDMETHODCALLTYPE *RSSetScissorRects )(
- ID3D12GraphicsCommandList5 * This,
- _In_range_(0, D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE) UINT NumRects,
- _In_reads_( NumRects) const D3D12_RECT *pRects);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, OMSetBlendFactor)
- void ( STDMETHODCALLTYPE *OMSetBlendFactor )(
- ID3D12GraphicsCommandList5 * This,
- _In_reads_opt_(4) const FLOAT BlendFactor[ 4 ]);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, OMSetStencilRef)
- void ( STDMETHODCALLTYPE *OMSetStencilRef )(
- ID3D12GraphicsCommandList5 * This,
- _In_ UINT StencilRef);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetPipelineState)
- void ( STDMETHODCALLTYPE *SetPipelineState )(
- ID3D12GraphicsCommandList5 * This,
- _In_ ID3D12PipelineState *pPipelineState);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ResourceBarrier)
- void ( STDMETHODCALLTYPE *ResourceBarrier )(
- ID3D12GraphicsCommandList5 * This,
- _In_ UINT NumBarriers,
- _In_reads_(NumBarriers) const D3D12_RESOURCE_BARRIER *pBarriers);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ExecuteBundle)
- void ( STDMETHODCALLTYPE *ExecuteBundle )(
- ID3D12GraphicsCommandList5 * This,
- _In_ ID3D12GraphicsCommandList *pCommandList);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetDescriptorHeaps)
- void ( STDMETHODCALLTYPE *SetDescriptorHeaps )(
- ID3D12GraphicsCommandList5 * This,
- _In_ UINT NumDescriptorHeaps,
- _In_reads_(NumDescriptorHeaps) ID3D12DescriptorHeap *const *ppDescriptorHeaps);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootSignature)
- void ( STDMETHODCALLTYPE *SetComputeRootSignature )(
- ID3D12GraphicsCommandList5 * This,
- _In_opt_ ID3D12RootSignature *pRootSignature);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootSignature)
- void ( STDMETHODCALLTYPE *SetGraphicsRootSignature )(
- ID3D12GraphicsCommandList5 * This,
- _In_opt_ ID3D12RootSignature *pRootSignature);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootDescriptorTable)
- void ( STDMETHODCALLTYPE *SetComputeRootDescriptorTable )(
- ID3D12GraphicsCommandList5 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootDescriptorTable)
- void ( STDMETHODCALLTYPE *SetGraphicsRootDescriptorTable )(
- ID3D12GraphicsCommandList5 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRoot32BitConstant)
- void ( STDMETHODCALLTYPE *SetComputeRoot32BitConstant )(
- ID3D12GraphicsCommandList5 * This,
- _In_ UINT RootParameterIndex,
- _In_ UINT SrcData,
- _In_ UINT DestOffsetIn32BitValues);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRoot32BitConstant)
- void ( STDMETHODCALLTYPE *SetGraphicsRoot32BitConstant )(
- ID3D12GraphicsCommandList5 * This,
- _In_ UINT RootParameterIndex,
- _In_ UINT SrcData,
- _In_ UINT DestOffsetIn32BitValues);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRoot32BitConstants)
- void ( STDMETHODCALLTYPE *SetComputeRoot32BitConstants )(
- ID3D12GraphicsCommandList5 * This,
- _In_ UINT RootParameterIndex,
- _In_ UINT Num32BitValuesToSet,
- _In_reads_(Num32BitValuesToSet*sizeof(UINT)) const void *pSrcData,
- _In_ UINT DestOffsetIn32BitValues);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRoot32BitConstants)
- void ( STDMETHODCALLTYPE *SetGraphicsRoot32BitConstants )(
- ID3D12GraphicsCommandList5 * This,
- _In_ UINT RootParameterIndex,
- _In_ UINT Num32BitValuesToSet,
- _In_reads_(Num32BitValuesToSet*sizeof(UINT)) const void *pSrcData,
- _In_ UINT DestOffsetIn32BitValues);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootConstantBufferView)
- void ( STDMETHODCALLTYPE *SetComputeRootConstantBufferView )(
- ID3D12GraphicsCommandList5 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootConstantBufferView)
- void ( STDMETHODCALLTYPE *SetGraphicsRootConstantBufferView )(
- ID3D12GraphicsCommandList5 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootShaderResourceView)
- void ( STDMETHODCALLTYPE *SetComputeRootShaderResourceView )(
- ID3D12GraphicsCommandList5 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootShaderResourceView)
- void ( STDMETHODCALLTYPE *SetGraphicsRootShaderResourceView )(
- ID3D12GraphicsCommandList5 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootUnorderedAccessView)
- void ( STDMETHODCALLTYPE *SetComputeRootUnorderedAccessView )(
- ID3D12GraphicsCommandList5 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootUnorderedAccessView)
- void ( STDMETHODCALLTYPE *SetGraphicsRootUnorderedAccessView )(
- ID3D12GraphicsCommandList5 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, IASetIndexBuffer)
- void ( STDMETHODCALLTYPE *IASetIndexBuffer )(
- ID3D12GraphicsCommandList5 * This,
- _In_opt_ const D3D12_INDEX_BUFFER_VIEW *pView);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, IASetVertexBuffers)
- void ( STDMETHODCALLTYPE *IASetVertexBuffers )(
- ID3D12GraphicsCommandList5 * This,
- _In_ UINT StartSlot,
- _In_ UINT NumViews,
- _In_reads_opt_(NumViews) const D3D12_VERTEX_BUFFER_VIEW *pViews);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SOSetTargets)
- void ( STDMETHODCALLTYPE *SOSetTargets )(
- ID3D12GraphicsCommandList5 * This,
- _In_ UINT StartSlot,
- _In_ UINT NumViews,
- _In_reads_opt_(NumViews) const D3D12_STREAM_OUTPUT_BUFFER_VIEW *pViews);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, OMSetRenderTargets)
- void ( STDMETHODCALLTYPE *OMSetRenderTargets )(
- ID3D12GraphicsCommandList5 * This,
- _In_ UINT NumRenderTargetDescriptors,
- _In_opt_ const D3D12_CPU_DESCRIPTOR_HANDLE *pRenderTargetDescriptors,
- _In_ BOOL RTsSingleHandleToDescriptorRange,
- _In_opt_ const D3D12_CPU_DESCRIPTOR_HANDLE *pDepthStencilDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearDepthStencilView)
- void ( STDMETHODCALLTYPE *ClearDepthStencilView )(
- ID3D12GraphicsCommandList5 * This,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DepthStencilView,
- _In_ D3D12_CLEAR_FLAGS ClearFlags,
- _In_ FLOAT Depth,
- _In_ UINT8 Stencil,
- _In_ UINT NumRects,
- _In_reads_(NumRects) const D3D12_RECT *pRects);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearRenderTargetView)
- void ( STDMETHODCALLTYPE *ClearRenderTargetView )(
- ID3D12GraphicsCommandList5 * This,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE RenderTargetView,
- _In_ const FLOAT ColorRGBA[ 4 ],
- _In_ UINT NumRects,
- _In_reads_(NumRects) const D3D12_RECT *pRects);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearUnorderedAccessViewUint)
- void ( STDMETHODCALLTYPE *ClearUnorderedAccessViewUint )(
- ID3D12GraphicsCommandList5 * This,
- _In_ D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle,
- _In_ ID3D12Resource *pResource,
- _In_ const UINT Values[ 4 ],
- _In_ UINT NumRects,
- _In_reads_(NumRects) const D3D12_RECT *pRects);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearUnorderedAccessViewFloat)
- void ( STDMETHODCALLTYPE *ClearUnorderedAccessViewFloat )(
- ID3D12GraphicsCommandList5 * This,
- _In_ D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle,
- _In_ ID3D12Resource *pResource,
- _In_ const FLOAT Values[ 4 ],
- _In_ UINT NumRects,
- _In_reads_(NumRects) const D3D12_RECT *pRects);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, DiscardResource)
- void ( STDMETHODCALLTYPE *DiscardResource )(
- ID3D12GraphicsCommandList5 * This,
- _In_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_DISCARD_REGION *pRegion);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, BeginQuery)
- void ( STDMETHODCALLTYPE *BeginQuery )(
- ID3D12GraphicsCommandList5 * This,
- _In_ ID3D12QueryHeap *pQueryHeap,
- _In_ D3D12_QUERY_TYPE Type,
- _In_ UINT Index);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, EndQuery)
- void ( STDMETHODCALLTYPE *EndQuery )(
- ID3D12GraphicsCommandList5 * This,
- _In_ ID3D12QueryHeap *pQueryHeap,
- _In_ D3D12_QUERY_TYPE Type,
- _In_ UINT Index);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ResolveQueryData)
- void ( STDMETHODCALLTYPE *ResolveQueryData )(
- ID3D12GraphicsCommandList5 * This,
- _In_ ID3D12QueryHeap *pQueryHeap,
- _In_ D3D12_QUERY_TYPE Type,
- _In_ UINT StartIndex,
- _In_ UINT NumQueries,
- _In_ ID3D12Resource *pDestinationBuffer,
- _In_ UINT64 AlignedDestinationBufferOffset);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetPredication)
- void ( STDMETHODCALLTYPE *SetPredication )(
- ID3D12GraphicsCommandList5 * This,
- _In_opt_ ID3D12Resource *pBuffer,
- _In_ UINT64 AlignedBufferOffset,
- _In_ D3D12_PREDICATION_OP Operation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetMarker)
- void ( STDMETHODCALLTYPE *SetMarker )(
- ID3D12GraphicsCommandList5 * This,
- UINT Metadata,
- _In_reads_bytes_opt_(Size) const void *pData,
- UINT Size);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, BeginEvent)
- void ( STDMETHODCALLTYPE *BeginEvent )(
- ID3D12GraphicsCommandList5 * This,
- UINT Metadata,
- _In_reads_bytes_opt_(Size) const void *pData,
- UINT Size);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, EndEvent)
- void ( STDMETHODCALLTYPE *EndEvent )(
- ID3D12GraphicsCommandList5 * This);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ExecuteIndirect)
- void ( STDMETHODCALLTYPE *ExecuteIndirect )(
- ID3D12GraphicsCommandList5 * This,
- _In_ ID3D12CommandSignature *pCommandSignature,
- _In_ UINT MaxCommandCount,
- _In_ ID3D12Resource *pArgumentBuffer,
- _In_ UINT64 ArgumentBufferOffset,
- _In_opt_ ID3D12Resource *pCountBuffer,
- _In_ UINT64 CountBufferOffset);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, AtomicCopyBufferUINT)
- void ( STDMETHODCALLTYPE *AtomicCopyBufferUINT )(
- ID3D12GraphicsCommandList5 * This,
- _In_ ID3D12Resource *pDstBuffer,
- UINT64 DstOffset,
- _In_ ID3D12Resource *pSrcBuffer,
- UINT64 SrcOffset,
- UINT Dependencies,
- _In_reads_(Dependencies) ID3D12Resource *const *ppDependentResources,
- _In_reads_(Dependencies) const D3D12_SUBRESOURCE_RANGE_UINT64 *pDependentSubresourceRanges);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, AtomicCopyBufferUINT64)
- void ( STDMETHODCALLTYPE *AtomicCopyBufferUINT64 )(
- ID3D12GraphicsCommandList5 * This,
- _In_ ID3D12Resource *pDstBuffer,
- UINT64 DstOffset,
- _In_ ID3D12Resource *pSrcBuffer,
- UINT64 SrcOffset,
- UINT Dependencies,
- _In_reads_(Dependencies) ID3D12Resource *const *ppDependentResources,
- _In_reads_(Dependencies) const D3D12_SUBRESOURCE_RANGE_UINT64 *pDependentSubresourceRanges);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, OMSetDepthBounds)
- void ( STDMETHODCALLTYPE *OMSetDepthBounds )(
- ID3D12GraphicsCommandList5 * This,
- _In_ FLOAT Min,
- _In_ FLOAT Max);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, SetSamplePositions)
- void ( STDMETHODCALLTYPE *SetSamplePositions )(
- ID3D12GraphicsCommandList5 * This,
- _In_ UINT NumSamplesPerPixel,
- _In_ UINT NumPixels,
- _In_reads_(NumSamplesPerPixel*NumPixels) D3D12_SAMPLE_POSITION *pSamplePositions);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, ResolveSubresourceRegion)
- void ( STDMETHODCALLTYPE *ResolveSubresourceRegion )(
- ID3D12GraphicsCommandList5 * This,
- _In_ ID3D12Resource *pDstResource,
- _In_ UINT DstSubresource,
- _In_ UINT DstX,
- _In_ UINT DstY,
- _In_ ID3D12Resource *pSrcResource,
- _In_ UINT SrcSubresource,
- _In_opt_ D3D12_RECT *pSrcRect,
- _In_ DXGI_FORMAT Format,
- _In_ D3D12_RESOLVE_MODE ResolveMode);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, SetViewInstanceMask)
- void ( STDMETHODCALLTYPE *SetViewInstanceMask )(
- ID3D12GraphicsCommandList5 * This,
- _In_ UINT Mask);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList2, WriteBufferImmediate)
- void ( STDMETHODCALLTYPE *WriteBufferImmediate )(
- ID3D12GraphicsCommandList5 * This,
- UINT Count,
- _In_reads_(Count) const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *pParams,
- _In_reads_opt_(Count) const D3D12_WRITEBUFFERIMMEDIATE_MODE *pModes);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList3, SetProtectedResourceSession)
- void ( STDMETHODCALLTYPE *SetProtectedResourceSession )(
- ID3D12GraphicsCommandList5 * This,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedResourceSession);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, BeginRenderPass)
- void ( STDMETHODCALLTYPE *BeginRenderPass )(
- ID3D12GraphicsCommandList5 * This,
- _In_ UINT NumRenderTargets,
- _In_reads_opt_(NumRenderTargets) const D3D12_RENDER_PASS_RENDER_TARGET_DESC *pRenderTargets,
- _In_opt_ const D3D12_RENDER_PASS_DEPTH_STENCIL_DESC *pDepthStencil,
- D3D12_RENDER_PASS_FLAGS Flags);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, EndRenderPass)
- void ( STDMETHODCALLTYPE *EndRenderPass )(
- ID3D12GraphicsCommandList5 * This);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, InitializeMetaCommand)
- void ( STDMETHODCALLTYPE *InitializeMetaCommand )(
- ID3D12GraphicsCommandList5 * This,
- _In_ ID3D12MetaCommand *pMetaCommand,
- _In_reads_bytes_opt_(InitializationParametersDataSizeInBytes) const void *pInitializationParametersData,
- _In_ SIZE_T InitializationParametersDataSizeInBytes);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, ExecuteMetaCommand)
- void ( STDMETHODCALLTYPE *ExecuteMetaCommand )(
- ID3D12GraphicsCommandList5 * This,
- _In_ ID3D12MetaCommand *pMetaCommand,
- _In_reads_bytes_opt_(ExecutionParametersDataSizeInBytes) const void *pExecutionParametersData,
- _In_ SIZE_T ExecutionParametersDataSizeInBytes);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, BuildRaytracingAccelerationStructure)
- void ( STDMETHODCALLTYPE *BuildRaytracingAccelerationStructure )(
- ID3D12GraphicsCommandList5 * This,
- _In_ const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC *pDesc,
- _In_ UINT NumPostbuildInfoDescs,
- _In_reads_opt_(NumPostbuildInfoDescs) const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC *pPostbuildInfoDescs);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, EmitRaytracingAccelerationStructurePostbuildInfo)
- void ( STDMETHODCALLTYPE *EmitRaytracingAccelerationStructurePostbuildInfo )(
- ID3D12GraphicsCommandList5 * This,
- _In_ const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC *pDesc,
- _In_ UINT NumSourceAccelerationStructures,
- _In_reads_( NumSourceAccelerationStructures ) const D3D12_GPU_VIRTUAL_ADDRESS *pSourceAccelerationStructureData);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, CopyRaytracingAccelerationStructure)
- void ( STDMETHODCALLTYPE *CopyRaytracingAccelerationStructure )(
- ID3D12GraphicsCommandList5 * This,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS DestAccelerationStructureData,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS SourceAccelerationStructureData,
- _In_ D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE Mode);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, SetPipelineState1)
- void ( STDMETHODCALLTYPE *SetPipelineState1 )(
- ID3D12GraphicsCommandList5 * This,
- _In_ ID3D12StateObject *pStateObject);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, DispatchRays)
- void ( STDMETHODCALLTYPE *DispatchRays )(
- ID3D12GraphicsCommandList5 * This,
- _In_ const D3D12_DISPATCH_RAYS_DESC *pDesc);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList5, RSSetShadingRate)
- void ( STDMETHODCALLTYPE *RSSetShadingRate )(
- ID3D12GraphicsCommandList5 * This,
- _In_ D3D12_SHADING_RATE baseShadingRate,
- _In_reads_opt_(D3D12_RS_SET_SHADING_RATE_COMBINER_COUNT) const D3D12_SHADING_RATE_COMBINER *combiners);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList5, RSSetShadingRateImage)
- void ( STDMETHODCALLTYPE *RSSetShadingRateImage )(
- ID3D12GraphicsCommandList5 * This,
- _In_opt_ ID3D12Resource *shadingRateImage);
-
- END_INTERFACE
- } ID3D12GraphicsCommandList5Vtbl;
- interface ID3D12GraphicsCommandList5
- {
- CONST_VTBL struct ID3D12GraphicsCommandList5Vtbl *lpVtbl;
- };
-
- #ifdef COBJMACROS
- #define ID3D12GraphicsCommandList5_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define ID3D12GraphicsCommandList5_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define ID3D12GraphicsCommandList5_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #define ID3D12GraphicsCommandList5_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
- #define ID3D12GraphicsCommandList5_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
- #define ID3D12GraphicsCommandList5_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
- #define ID3D12GraphicsCommandList5_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
- #define ID3D12GraphicsCommandList5_GetDevice(This,riid,ppvDevice) \
- ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
- #define ID3D12GraphicsCommandList5_GetType(This) \
- ( (This)->lpVtbl -> GetType(This) )
- #define ID3D12GraphicsCommandList5_Close(This) \
- ( (This)->lpVtbl -> Close(This) )
- #define ID3D12GraphicsCommandList5_Reset(This,pAllocator,pInitialState) \
- ( (This)->lpVtbl -> Reset(This,pAllocator,pInitialState) )
- #define ID3D12GraphicsCommandList5_ClearState(This,pPipelineState) \
- ( (This)->lpVtbl -> ClearState(This,pPipelineState) )
- #define ID3D12GraphicsCommandList5_DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) \
- ( (This)->lpVtbl -> DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) )
- #define ID3D12GraphicsCommandList5_DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) \
- ( (This)->lpVtbl -> DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) )
- #define ID3D12GraphicsCommandList5_Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) \
- ( (This)->lpVtbl -> Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) )
- #define ID3D12GraphicsCommandList5_CopyBufferRegion(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) \
- ( (This)->lpVtbl -> CopyBufferRegion(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) )
- #define ID3D12GraphicsCommandList5_CopyTextureRegion(This,pDst,DstX,DstY,DstZ,pSrc,pSrcBox) \
- ( (This)->lpVtbl -> CopyTextureRegion(This,pDst,DstX,DstY,DstZ,pSrc,pSrcBox) )
- #define ID3D12GraphicsCommandList5_CopyResource(This,pDstResource,pSrcResource) \
- ( (This)->lpVtbl -> CopyResource(This,pDstResource,pSrcResource) )
- #define ID3D12GraphicsCommandList5_CopyTiles(This,pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) \
- ( (This)->lpVtbl -> CopyTiles(This,pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) )
- #define ID3D12GraphicsCommandList5_ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) \
- ( (This)->lpVtbl -> ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) )
- #define ID3D12GraphicsCommandList5_IASetPrimitiveTopology(This,PrimitiveTopology) \
- ( (This)->lpVtbl -> IASetPrimitiveTopology(This,PrimitiveTopology) )
- #define ID3D12GraphicsCommandList5_RSSetViewports(This,NumViewports,pViewports) \
- ( (This)->lpVtbl -> RSSetViewports(This,NumViewports,pViewports) )
- #define ID3D12GraphicsCommandList5_RSSetScissorRects(This,NumRects,pRects) \
- ( (This)->lpVtbl -> RSSetScissorRects(This,NumRects,pRects) )
- #define ID3D12GraphicsCommandList5_OMSetBlendFactor(This,BlendFactor) \
- ( (This)->lpVtbl -> OMSetBlendFactor(This,BlendFactor) )
- #define ID3D12GraphicsCommandList5_OMSetStencilRef(This,StencilRef) \
- ( (This)->lpVtbl -> OMSetStencilRef(This,StencilRef) )
- #define ID3D12GraphicsCommandList5_SetPipelineState(This,pPipelineState) \
- ( (This)->lpVtbl -> SetPipelineState(This,pPipelineState) )
- #define ID3D12GraphicsCommandList5_ResourceBarrier(This,NumBarriers,pBarriers) \
- ( (This)->lpVtbl -> ResourceBarrier(This,NumBarriers,pBarriers) )
- #define ID3D12GraphicsCommandList5_ExecuteBundle(This,pCommandList) \
- ( (This)->lpVtbl -> ExecuteBundle(This,pCommandList) )
- #define ID3D12GraphicsCommandList5_SetDescriptorHeaps(This,NumDescriptorHeaps,ppDescriptorHeaps) \
- ( (This)->lpVtbl -> SetDescriptorHeaps(This,NumDescriptorHeaps,ppDescriptorHeaps) )
- #define ID3D12GraphicsCommandList5_SetComputeRootSignature(This,pRootSignature) \
- ( (This)->lpVtbl -> SetComputeRootSignature(This,pRootSignature) )
- #define ID3D12GraphicsCommandList5_SetGraphicsRootSignature(This,pRootSignature) \
- ( (This)->lpVtbl -> SetGraphicsRootSignature(This,pRootSignature) )
- #define ID3D12GraphicsCommandList5_SetComputeRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) \
- ( (This)->lpVtbl -> SetComputeRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) )
- #define ID3D12GraphicsCommandList5_SetGraphicsRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) \
- ( (This)->lpVtbl -> SetGraphicsRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) )
- #define ID3D12GraphicsCommandList5_SetComputeRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) \
- ( (This)->lpVtbl -> SetComputeRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) )
- #define ID3D12GraphicsCommandList5_SetGraphicsRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) \
- ( (This)->lpVtbl -> SetGraphicsRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) )
- #define ID3D12GraphicsCommandList5_SetComputeRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) \
- ( (This)->lpVtbl -> SetComputeRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) )
- #define ID3D12GraphicsCommandList5_SetGraphicsRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) \
- ( (This)->lpVtbl -> SetGraphicsRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) )
- #define ID3D12GraphicsCommandList5_SetComputeRootConstantBufferView(This,RootParameterIndex,BufferLocation) \
- ( (This)->lpVtbl -> SetComputeRootConstantBufferView(This,RootParameterIndex,BufferLocation) )
- #define ID3D12GraphicsCommandList5_SetGraphicsRootConstantBufferView(This,RootParameterIndex,BufferLocation) \
- ( (This)->lpVtbl -> SetGraphicsRootConstantBufferView(This,RootParameterIndex,BufferLocation) )
- #define ID3D12GraphicsCommandList5_SetComputeRootShaderResourceView(This,RootParameterIndex,BufferLocation) \
- ( (This)->lpVtbl -> SetComputeRootShaderResourceView(This,RootParameterIndex,BufferLocation) )
- #define ID3D12GraphicsCommandList5_SetGraphicsRootShaderResourceView(This,RootParameterIndex,BufferLocation) \
- ( (This)->lpVtbl -> SetGraphicsRootShaderResourceView(This,RootParameterIndex,BufferLocation) )
- #define ID3D12GraphicsCommandList5_SetComputeRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) \
- ( (This)->lpVtbl -> SetComputeRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) )
- #define ID3D12GraphicsCommandList5_SetGraphicsRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) \
- ( (This)->lpVtbl -> SetGraphicsRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) )
- #define ID3D12GraphicsCommandList5_IASetIndexBuffer(This,pView) \
- ( (This)->lpVtbl -> IASetIndexBuffer(This,pView) )
- #define ID3D12GraphicsCommandList5_IASetVertexBuffers(This,StartSlot,NumViews,pViews) \
- ( (This)->lpVtbl -> IASetVertexBuffers(This,StartSlot,NumViews,pViews) )
- #define ID3D12GraphicsCommandList5_SOSetTargets(This,StartSlot,NumViews,pViews) \
- ( (This)->lpVtbl -> SOSetTargets(This,StartSlot,NumViews,pViews) )
- #define ID3D12GraphicsCommandList5_OMSetRenderTargets(This,NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) \
- ( (This)->lpVtbl -> OMSetRenderTargets(This,NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) )
- #define ID3D12GraphicsCommandList5_ClearDepthStencilView(This,DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) \
- ( (This)->lpVtbl -> ClearDepthStencilView(This,DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) )
- #define ID3D12GraphicsCommandList5_ClearRenderTargetView(This,RenderTargetView,ColorRGBA,NumRects,pRects) \
- ( (This)->lpVtbl -> ClearRenderTargetView(This,RenderTargetView,ColorRGBA,NumRects,pRects) )
- #define ID3D12GraphicsCommandList5_ClearUnorderedAccessViewUint(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) \
- ( (This)->lpVtbl -> ClearUnorderedAccessViewUint(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) )
- #define ID3D12GraphicsCommandList5_ClearUnorderedAccessViewFloat(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) \
- ( (This)->lpVtbl -> ClearUnorderedAccessViewFloat(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) )
- #define ID3D12GraphicsCommandList5_DiscardResource(This,pResource,pRegion) \
- ( (This)->lpVtbl -> DiscardResource(This,pResource,pRegion) )
- #define ID3D12GraphicsCommandList5_BeginQuery(This,pQueryHeap,Type,Index) \
- ( (This)->lpVtbl -> BeginQuery(This,pQueryHeap,Type,Index) )
- #define ID3D12GraphicsCommandList5_EndQuery(This,pQueryHeap,Type,Index) \
- ( (This)->lpVtbl -> EndQuery(This,pQueryHeap,Type,Index) )
- #define ID3D12GraphicsCommandList5_ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) \
- ( (This)->lpVtbl -> ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) )
- #define ID3D12GraphicsCommandList5_SetPredication(This,pBuffer,AlignedBufferOffset,Operation) \
- ( (This)->lpVtbl -> SetPredication(This,pBuffer,AlignedBufferOffset,Operation) )
- #define ID3D12GraphicsCommandList5_SetMarker(This,Metadata,pData,Size) \
- ( (This)->lpVtbl -> SetMarker(This,Metadata,pData,Size) )
- #define ID3D12GraphicsCommandList5_BeginEvent(This,Metadata,pData,Size) \
- ( (This)->lpVtbl -> BeginEvent(This,Metadata,pData,Size) )
- #define ID3D12GraphicsCommandList5_EndEvent(This) \
- ( (This)->lpVtbl -> EndEvent(This) )
- #define ID3D12GraphicsCommandList5_ExecuteIndirect(This,pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) \
- ( (This)->lpVtbl -> ExecuteIndirect(This,pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) )
- #define ID3D12GraphicsCommandList5_AtomicCopyBufferUINT(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) \
- ( (This)->lpVtbl -> AtomicCopyBufferUINT(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) )
- #define ID3D12GraphicsCommandList5_AtomicCopyBufferUINT64(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) \
- ( (This)->lpVtbl -> AtomicCopyBufferUINT64(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) )
- #define ID3D12GraphicsCommandList5_OMSetDepthBounds(This,Min,Max) \
- ( (This)->lpVtbl -> OMSetDepthBounds(This,Min,Max) )
- #define ID3D12GraphicsCommandList5_SetSamplePositions(This,NumSamplesPerPixel,NumPixels,pSamplePositions) \
- ( (This)->lpVtbl -> SetSamplePositions(This,NumSamplesPerPixel,NumPixels,pSamplePositions) )
- #define ID3D12GraphicsCommandList5_ResolveSubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode) \
- ( (This)->lpVtbl -> ResolveSubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode) )
- #define ID3D12GraphicsCommandList5_SetViewInstanceMask(This,Mask) \
- ( (This)->lpVtbl -> SetViewInstanceMask(This,Mask) )
- #define ID3D12GraphicsCommandList5_WriteBufferImmediate(This,Count,pParams,pModes) \
- ( (This)->lpVtbl -> WriteBufferImmediate(This,Count,pParams,pModes) )
- #define ID3D12GraphicsCommandList5_SetProtectedResourceSession(This,pProtectedResourceSession) \
- ( (This)->lpVtbl -> SetProtectedResourceSession(This,pProtectedResourceSession) )
- #define ID3D12GraphicsCommandList5_BeginRenderPass(This,NumRenderTargets,pRenderTargets,pDepthStencil,Flags) \
- ( (This)->lpVtbl -> BeginRenderPass(This,NumRenderTargets,pRenderTargets,pDepthStencil,Flags) )
- #define ID3D12GraphicsCommandList5_EndRenderPass(This) \
- ( (This)->lpVtbl -> EndRenderPass(This) )
- #define ID3D12GraphicsCommandList5_InitializeMetaCommand(This,pMetaCommand,pInitializationParametersData,InitializationParametersDataSizeInBytes) \
- ( (This)->lpVtbl -> InitializeMetaCommand(This,pMetaCommand,pInitializationParametersData,InitializationParametersDataSizeInBytes) )
- #define ID3D12GraphicsCommandList5_ExecuteMetaCommand(This,pMetaCommand,pExecutionParametersData,ExecutionParametersDataSizeInBytes) \
- ( (This)->lpVtbl -> ExecuteMetaCommand(This,pMetaCommand,pExecutionParametersData,ExecutionParametersDataSizeInBytes) )
- #define ID3D12GraphicsCommandList5_BuildRaytracingAccelerationStructure(This,pDesc,NumPostbuildInfoDescs,pPostbuildInfoDescs) \
- ( (This)->lpVtbl -> BuildRaytracingAccelerationStructure(This,pDesc,NumPostbuildInfoDescs,pPostbuildInfoDescs) )
- #define ID3D12GraphicsCommandList5_EmitRaytracingAccelerationStructurePostbuildInfo(This,pDesc,NumSourceAccelerationStructures,pSourceAccelerationStructureData) \
- ( (This)->lpVtbl -> EmitRaytracingAccelerationStructurePostbuildInfo(This,pDesc,NumSourceAccelerationStructures,pSourceAccelerationStructureData) )
- #define ID3D12GraphicsCommandList5_CopyRaytracingAccelerationStructure(This,DestAccelerationStructureData,SourceAccelerationStructureData,Mode) \
- ( (This)->lpVtbl -> CopyRaytracingAccelerationStructure(This,DestAccelerationStructureData,SourceAccelerationStructureData,Mode) )
- #define ID3D12GraphicsCommandList5_SetPipelineState1(This,pStateObject) \
- ( (This)->lpVtbl -> SetPipelineState1(This,pStateObject) )
- #define ID3D12GraphicsCommandList5_DispatchRays(This,pDesc) \
- ( (This)->lpVtbl -> DispatchRays(This,pDesc) )
- #define ID3D12GraphicsCommandList5_RSSetShadingRate(This,baseShadingRate,combiners) \
- ( (This)->lpVtbl -> RSSetShadingRate(This,baseShadingRate,combiners) )
- #define ID3D12GraphicsCommandList5_RSSetShadingRateImage(This,shadingRateImage) \
- ( (This)->lpVtbl -> RSSetShadingRateImage(This,shadingRateImage) )
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __ID3D12GraphicsCommandList5_INTERFACE_DEFINED__ */
- /* interface __MIDL_itf_d3d12_0000_0064 */
- /* [local] */
- typedef struct D3D12_DISPATCH_MESH_ARGUMENTS
- {
- UINT ThreadGroupCountX;
- UINT ThreadGroupCountY;
- UINT ThreadGroupCountZ;
- } D3D12_DISPATCH_MESH_ARGUMENTS;
- extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0064_v0_0_c_ifspec;
- extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0064_v0_0_s_ifspec;
- #ifndef __ID3D12GraphicsCommandList6_INTERFACE_DEFINED__
- #define __ID3D12GraphicsCommandList6_INTERFACE_DEFINED__
- /* interface ID3D12GraphicsCommandList6 */
- /* [unique][local][object][uuid] */
- EXTERN_C const IID IID_ID3D12GraphicsCommandList6;
- #if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("c3827890-e548-4cfa-96cf-5689a9370f80")
- ID3D12GraphicsCommandList6 : public ID3D12GraphicsCommandList5
- {
- public:
- virtual void STDMETHODCALLTYPE DispatchMesh(
- _In_ UINT ThreadGroupCountX,
- _In_ UINT ThreadGroupCountY,
- _In_ UINT ThreadGroupCountZ) = 0;
-
- };
-
-
- #else /* C style interface */
- typedef struct ID3D12GraphicsCommandList6Vtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12GraphicsCommandList6 * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12GraphicsCommandList6 * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12GraphicsCommandList6 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12GraphicsCommandList6 * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12GraphicsCommandList6 * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12GraphicsCommandList6 * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetName)
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12GraphicsCommandList6 * This,
- _In_z_ LPCWSTR Name);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice)
- HRESULT ( STDMETHODCALLTYPE *GetDevice )(
- ID3D12GraphicsCommandList6 * This,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvDevice);
-
- DECLSPEC_XFGVIRT(ID3D12CommandList, GetType)
- D3D12_COMMAND_LIST_TYPE ( STDMETHODCALLTYPE *GetType )(
- ID3D12GraphicsCommandList6 * This);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, Close)
- HRESULT ( STDMETHODCALLTYPE *Close )(
- ID3D12GraphicsCommandList6 * This);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, Reset)
- HRESULT ( STDMETHODCALLTYPE *Reset )(
- ID3D12GraphicsCommandList6 * This,
- _In_ ID3D12CommandAllocator *pAllocator,
- _In_opt_ ID3D12PipelineState *pInitialState);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearState)
- void ( STDMETHODCALLTYPE *ClearState )(
- ID3D12GraphicsCommandList6 * This,
- _In_opt_ ID3D12PipelineState *pPipelineState);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, DrawInstanced)
- void ( STDMETHODCALLTYPE *DrawInstanced )(
- ID3D12GraphicsCommandList6 * This,
- _In_ UINT VertexCountPerInstance,
- _In_ UINT InstanceCount,
- _In_ UINT StartVertexLocation,
- _In_ UINT StartInstanceLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, DrawIndexedInstanced)
- void ( STDMETHODCALLTYPE *DrawIndexedInstanced )(
- ID3D12GraphicsCommandList6 * This,
- _In_ UINT IndexCountPerInstance,
- _In_ UINT InstanceCount,
- _In_ UINT StartIndexLocation,
- _In_ INT BaseVertexLocation,
- _In_ UINT StartInstanceLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, Dispatch)
- void ( STDMETHODCALLTYPE *Dispatch )(
- ID3D12GraphicsCommandList6 * This,
- _In_ UINT ThreadGroupCountX,
- _In_ UINT ThreadGroupCountY,
- _In_ UINT ThreadGroupCountZ);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyBufferRegion)
- void ( STDMETHODCALLTYPE *CopyBufferRegion )(
- ID3D12GraphicsCommandList6 * This,
- _In_ ID3D12Resource *pDstBuffer,
- UINT64 DstOffset,
- _In_ ID3D12Resource *pSrcBuffer,
- UINT64 SrcOffset,
- UINT64 NumBytes);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyTextureRegion)
- void ( STDMETHODCALLTYPE *CopyTextureRegion )(
- ID3D12GraphicsCommandList6 * This,
- _In_ const D3D12_TEXTURE_COPY_LOCATION *pDst,
- UINT DstX,
- UINT DstY,
- UINT DstZ,
- _In_ const D3D12_TEXTURE_COPY_LOCATION *pSrc,
- _In_opt_ const D3D12_BOX *pSrcBox);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyResource)
- void ( STDMETHODCALLTYPE *CopyResource )(
- ID3D12GraphicsCommandList6 * This,
- _In_ ID3D12Resource *pDstResource,
- _In_ ID3D12Resource *pSrcResource);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyTiles)
- void ( STDMETHODCALLTYPE *CopyTiles )(
- ID3D12GraphicsCommandList6 * This,
- _In_ ID3D12Resource *pTiledResource,
- _In_ const D3D12_TILED_RESOURCE_COORDINATE *pTileRegionStartCoordinate,
- _In_ const D3D12_TILE_REGION_SIZE *pTileRegionSize,
- _In_ ID3D12Resource *pBuffer,
- UINT64 BufferStartOffsetInBytes,
- D3D12_TILE_COPY_FLAGS Flags);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ResolveSubresource)
- void ( STDMETHODCALLTYPE *ResolveSubresource )(
- ID3D12GraphicsCommandList6 * This,
- _In_ ID3D12Resource *pDstResource,
- _In_ UINT DstSubresource,
- _In_ ID3D12Resource *pSrcResource,
- _In_ UINT SrcSubresource,
- _In_ DXGI_FORMAT Format);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, IASetPrimitiveTopology)
- void ( STDMETHODCALLTYPE *IASetPrimitiveTopology )(
- ID3D12GraphicsCommandList6 * This,
- _In_ D3D12_PRIMITIVE_TOPOLOGY PrimitiveTopology);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, RSSetViewports)
- void ( STDMETHODCALLTYPE *RSSetViewports )(
- ID3D12GraphicsCommandList6 * This,
- _In_range_(0, D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE) UINT NumViewports,
- _In_reads_( NumViewports) const D3D12_VIEWPORT *pViewports);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, RSSetScissorRects)
- void ( STDMETHODCALLTYPE *RSSetScissorRects )(
- ID3D12GraphicsCommandList6 * This,
- _In_range_(0, D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE) UINT NumRects,
- _In_reads_( NumRects) const D3D12_RECT *pRects);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, OMSetBlendFactor)
- void ( STDMETHODCALLTYPE *OMSetBlendFactor )(
- ID3D12GraphicsCommandList6 * This,
- _In_reads_opt_(4) const FLOAT BlendFactor[ 4 ]);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, OMSetStencilRef)
- void ( STDMETHODCALLTYPE *OMSetStencilRef )(
- ID3D12GraphicsCommandList6 * This,
- _In_ UINT StencilRef);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetPipelineState)
- void ( STDMETHODCALLTYPE *SetPipelineState )(
- ID3D12GraphicsCommandList6 * This,
- _In_ ID3D12PipelineState *pPipelineState);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ResourceBarrier)
- void ( STDMETHODCALLTYPE *ResourceBarrier )(
- ID3D12GraphicsCommandList6 * This,
- _In_ UINT NumBarriers,
- _In_reads_(NumBarriers) const D3D12_RESOURCE_BARRIER *pBarriers);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ExecuteBundle)
- void ( STDMETHODCALLTYPE *ExecuteBundle )(
- ID3D12GraphicsCommandList6 * This,
- _In_ ID3D12GraphicsCommandList *pCommandList);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetDescriptorHeaps)
- void ( STDMETHODCALLTYPE *SetDescriptorHeaps )(
- ID3D12GraphicsCommandList6 * This,
- _In_ UINT NumDescriptorHeaps,
- _In_reads_(NumDescriptorHeaps) ID3D12DescriptorHeap *const *ppDescriptorHeaps);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootSignature)
- void ( STDMETHODCALLTYPE *SetComputeRootSignature )(
- ID3D12GraphicsCommandList6 * This,
- _In_opt_ ID3D12RootSignature *pRootSignature);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootSignature)
- void ( STDMETHODCALLTYPE *SetGraphicsRootSignature )(
- ID3D12GraphicsCommandList6 * This,
- _In_opt_ ID3D12RootSignature *pRootSignature);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootDescriptorTable)
- void ( STDMETHODCALLTYPE *SetComputeRootDescriptorTable )(
- ID3D12GraphicsCommandList6 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootDescriptorTable)
- void ( STDMETHODCALLTYPE *SetGraphicsRootDescriptorTable )(
- ID3D12GraphicsCommandList6 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRoot32BitConstant)
- void ( STDMETHODCALLTYPE *SetComputeRoot32BitConstant )(
- ID3D12GraphicsCommandList6 * This,
- _In_ UINT RootParameterIndex,
- _In_ UINT SrcData,
- _In_ UINT DestOffsetIn32BitValues);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRoot32BitConstant)
- void ( STDMETHODCALLTYPE *SetGraphicsRoot32BitConstant )(
- ID3D12GraphicsCommandList6 * This,
- _In_ UINT RootParameterIndex,
- _In_ UINT SrcData,
- _In_ UINT DestOffsetIn32BitValues);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRoot32BitConstants)
- void ( STDMETHODCALLTYPE *SetComputeRoot32BitConstants )(
- ID3D12GraphicsCommandList6 * This,
- _In_ UINT RootParameterIndex,
- _In_ UINT Num32BitValuesToSet,
- _In_reads_(Num32BitValuesToSet*sizeof(UINT)) const void *pSrcData,
- _In_ UINT DestOffsetIn32BitValues);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRoot32BitConstants)
- void ( STDMETHODCALLTYPE *SetGraphicsRoot32BitConstants )(
- ID3D12GraphicsCommandList6 * This,
- _In_ UINT RootParameterIndex,
- _In_ UINT Num32BitValuesToSet,
- _In_reads_(Num32BitValuesToSet*sizeof(UINT)) const void *pSrcData,
- _In_ UINT DestOffsetIn32BitValues);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootConstantBufferView)
- void ( STDMETHODCALLTYPE *SetComputeRootConstantBufferView )(
- ID3D12GraphicsCommandList6 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootConstantBufferView)
- void ( STDMETHODCALLTYPE *SetGraphicsRootConstantBufferView )(
- ID3D12GraphicsCommandList6 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootShaderResourceView)
- void ( STDMETHODCALLTYPE *SetComputeRootShaderResourceView )(
- ID3D12GraphicsCommandList6 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootShaderResourceView)
- void ( STDMETHODCALLTYPE *SetGraphicsRootShaderResourceView )(
- ID3D12GraphicsCommandList6 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootUnorderedAccessView)
- void ( STDMETHODCALLTYPE *SetComputeRootUnorderedAccessView )(
- ID3D12GraphicsCommandList6 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootUnorderedAccessView)
- void ( STDMETHODCALLTYPE *SetGraphicsRootUnorderedAccessView )(
- ID3D12GraphicsCommandList6 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, IASetIndexBuffer)
- void ( STDMETHODCALLTYPE *IASetIndexBuffer )(
- ID3D12GraphicsCommandList6 * This,
- _In_opt_ const D3D12_INDEX_BUFFER_VIEW *pView);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, IASetVertexBuffers)
- void ( STDMETHODCALLTYPE *IASetVertexBuffers )(
- ID3D12GraphicsCommandList6 * This,
- _In_ UINT StartSlot,
- _In_ UINT NumViews,
- _In_reads_opt_(NumViews) const D3D12_VERTEX_BUFFER_VIEW *pViews);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SOSetTargets)
- void ( STDMETHODCALLTYPE *SOSetTargets )(
- ID3D12GraphicsCommandList6 * This,
- _In_ UINT StartSlot,
- _In_ UINT NumViews,
- _In_reads_opt_(NumViews) const D3D12_STREAM_OUTPUT_BUFFER_VIEW *pViews);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, OMSetRenderTargets)
- void ( STDMETHODCALLTYPE *OMSetRenderTargets )(
- ID3D12GraphicsCommandList6 * This,
- _In_ UINT NumRenderTargetDescriptors,
- _In_opt_ const D3D12_CPU_DESCRIPTOR_HANDLE *pRenderTargetDescriptors,
- _In_ BOOL RTsSingleHandleToDescriptorRange,
- _In_opt_ const D3D12_CPU_DESCRIPTOR_HANDLE *pDepthStencilDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearDepthStencilView)
- void ( STDMETHODCALLTYPE *ClearDepthStencilView )(
- ID3D12GraphicsCommandList6 * This,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DepthStencilView,
- _In_ D3D12_CLEAR_FLAGS ClearFlags,
- _In_ FLOAT Depth,
- _In_ UINT8 Stencil,
- _In_ UINT NumRects,
- _In_reads_(NumRects) const D3D12_RECT *pRects);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearRenderTargetView)
- void ( STDMETHODCALLTYPE *ClearRenderTargetView )(
- ID3D12GraphicsCommandList6 * This,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE RenderTargetView,
- _In_ const FLOAT ColorRGBA[ 4 ],
- _In_ UINT NumRects,
- _In_reads_(NumRects) const D3D12_RECT *pRects);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearUnorderedAccessViewUint)
- void ( STDMETHODCALLTYPE *ClearUnorderedAccessViewUint )(
- ID3D12GraphicsCommandList6 * This,
- _In_ D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle,
- _In_ ID3D12Resource *pResource,
- _In_ const UINT Values[ 4 ],
- _In_ UINT NumRects,
- _In_reads_(NumRects) const D3D12_RECT *pRects);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearUnorderedAccessViewFloat)
- void ( STDMETHODCALLTYPE *ClearUnorderedAccessViewFloat )(
- ID3D12GraphicsCommandList6 * This,
- _In_ D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle,
- _In_ ID3D12Resource *pResource,
- _In_ const FLOAT Values[ 4 ],
- _In_ UINT NumRects,
- _In_reads_(NumRects) const D3D12_RECT *pRects);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, DiscardResource)
- void ( STDMETHODCALLTYPE *DiscardResource )(
- ID3D12GraphicsCommandList6 * This,
- _In_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_DISCARD_REGION *pRegion);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, BeginQuery)
- void ( STDMETHODCALLTYPE *BeginQuery )(
- ID3D12GraphicsCommandList6 * This,
- _In_ ID3D12QueryHeap *pQueryHeap,
- _In_ D3D12_QUERY_TYPE Type,
- _In_ UINT Index);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, EndQuery)
- void ( STDMETHODCALLTYPE *EndQuery )(
- ID3D12GraphicsCommandList6 * This,
- _In_ ID3D12QueryHeap *pQueryHeap,
- _In_ D3D12_QUERY_TYPE Type,
- _In_ UINT Index);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ResolveQueryData)
- void ( STDMETHODCALLTYPE *ResolveQueryData )(
- ID3D12GraphicsCommandList6 * This,
- _In_ ID3D12QueryHeap *pQueryHeap,
- _In_ D3D12_QUERY_TYPE Type,
- _In_ UINT StartIndex,
- _In_ UINT NumQueries,
- _In_ ID3D12Resource *pDestinationBuffer,
- _In_ UINT64 AlignedDestinationBufferOffset);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetPredication)
- void ( STDMETHODCALLTYPE *SetPredication )(
- ID3D12GraphicsCommandList6 * This,
- _In_opt_ ID3D12Resource *pBuffer,
- _In_ UINT64 AlignedBufferOffset,
- _In_ D3D12_PREDICATION_OP Operation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetMarker)
- void ( STDMETHODCALLTYPE *SetMarker )(
- ID3D12GraphicsCommandList6 * This,
- UINT Metadata,
- _In_reads_bytes_opt_(Size) const void *pData,
- UINT Size);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, BeginEvent)
- void ( STDMETHODCALLTYPE *BeginEvent )(
- ID3D12GraphicsCommandList6 * This,
- UINT Metadata,
- _In_reads_bytes_opt_(Size) const void *pData,
- UINT Size);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, EndEvent)
- void ( STDMETHODCALLTYPE *EndEvent )(
- ID3D12GraphicsCommandList6 * This);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ExecuteIndirect)
- void ( STDMETHODCALLTYPE *ExecuteIndirect )(
- ID3D12GraphicsCommandList6 * This,
- _In_ ID3D12CommandSignature *pCommandSignature,
- _In_ UINT MaxCommandCount,
- _In_ ID3D12Resource *pArgumentBuffer,
- _In_ UINT64 ArgumentBufferOffset,
- _In_opt_ ID3D12Resource *pCountBuffer,
- _In_ UINT64 CountBufferOffset);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, AtomicCopyBufferUINT)
- void ( STDMETHODCALLTYPE *AtomicCopyBufferUINT )(
- ID3D12GraphicsCommandList6 * This,
- _In_ ID3D12Resource *pDstBuffer,
- UINT64 DstOffset,
- _In_ ID3D12Resource *pSrcBuffer,
- UINT64 SrcOffset,
- UINT Dependencies,
- _In_reads_(Dependencies) ID3D12Resource *const *ppDependentResources,
- _In_reads_(Dependencies) const D3D12_SUBRESOURCE_RANGE_UINT64 *pDependentSubresourceRanges);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, AtomicCopyBufferUINT64)
- void ( STDMETHODCALLTYPE *AtomicCopyBufferUINT64 )(
- ID3D12GraphicsCommandList6 * This,
- _In_ ID3D12Resource *pDstBuffer,
- UINT64 DstOffset,
- _In_ ID3D12Resource *pSrcBuffer,
- UINT64 SrcOffset,
- UINT Dependencies,
- _In_reads_(Dependencies) ID3D12Resource *const *ppDependentResources,
- _In_reads_(Dependencies) const D3D12_SUBRESOURCE_RANGE_UINT64 *pDependentSubresourceRanges);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, OMSetDepthBounds)
- void ( STDMETHODCALLTYPE *OMSetDepthBounds )(
- ID3D12GraphicsCommandList6 * This,
- _In_ FLOAT Min,
- _In_ FLOAT Max);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, SetSamplePositions)
- void ( STDMETHODCALLTYPE *SetSamplePositions )(
- ID3D12GraphicsCommandList6 * This,
- _In_ UINT NumSamplesPerPixel,
- _In_ UINT NumPixels,
- _In_reads_(NumSamplesPerPixel*NumPixels) D3D12_SAMPLE_POSITION *pSamplePositions);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, ResolveSubresourceRegion)
- void ( STDMETHODCALLTYPE *ResolveSubresourceRegion )(
- ID3D12GraphicsCommandList6 * This,
- _In_ ID3D12Resource *pDstResource,
- _In_ UINT DstSubresource,
- _In_ UINT DstX,
- _In_ UINT DstY,
- _In_ ID3D12Resource *pSrcResource,
- _In_ UINT SrcSubresource,
- _In_opt_ D3D12_RECT *pSrcRect,
- _In_ DXGI_FORMAT Format,
- _In_ D3D12_RESOLVE_MODE ResolveMode);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, SetViewInstanceMask)
- void ( STDMETHODCALLTYPE *SetViewInstanceMask )(
- ID3D12GraphicsCommandList6 * This,
- _In_ UINT Mask);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList2, WriteBufferImmediate)
- void ( STDMETHODCALLTYPE *WriteBufferImmediate )(
- ID3D12GraphicsCommandList6 * This,
- UINT Count,
- _In_reads_(Count) const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *pParams,
- _In_reads_opt_(Count) const D3D12_WRITEBUFFERIMMEDIATE_MODE *pModes);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList3, SetProtectedResourceSession)
- void ( STDMETHODCALLTYPE *SetProtectedResourceSession )(
- ID3D12GraphicsCommandList6 * This,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedResourceSession);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, BeginRenderPass)
- void ( STDMETHODCALLTYPE *BeginRenderPass )(
- ID3D12GraphicsCommandList6 * This,
- _In_ UINT NumRenderTargets,
- _In_reads_opt_(NumRenderTargets) const D3D12_RENDER_PASS_RENDER_TARGET_DESC *pRenderTargets,
- _In_opt_ const D3D12_RENDER_PASS_DEPTH_STENCIL_DESC *pDepthStencil,
- D3D12_RENDER_PASS_FLAGS Flags);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, EndRenderPass)
- void ( STDMETHODCALLTYPE *EndRenderPass )(
- ID3D12GraphicsCommandList6 * This);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, InitializeMetaCommand)
- void ( STDMETHODCALLTYPE *InitializeMetaCommand )(
- ID3D12GraphicsCommandList6 * This,
- _In_ ID3D12MetaCommand *pMetaCommand,
- _In_reads_bytes_opt_(InitializationParametersDataSizeInBytes) const void *pInitializationParametersData,
- _In_ SIZE_T InitializationParametersDataSizeInBytes);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, ExecuteMetaCommand)
- void ( STDMETHODCALLTYPE *ExecuteMetaCommand )(
- ID3D12GraphicsCommandList6 * This,
- _In_ ID3D12MetaCommand *pMetaCommand,
- _In_reads_bytes_opt_(ExecutionParametersDataSizeInBytes) const void *pExecutionParametersData,
- _In_ SIZE_T ExecutionParametersDataSizeInBytes);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, BuildRaytracingAccelerationStructure)
- void ( STDMETHODCALLTYPE *BuildRaytracingAccelerationStructure )(
- ID3D12GraphicsCommandList6 * This,
- _In_ const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC *pDesc,
- _In_ UINT NumPostbuildInfoDescs,
- _In_reads_opt_(NumPostbuildInfoDescs) const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC *pPostbuildInfoDescs);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, EmitRaytracingAccelerationStructurePostbuildInfo)
- void ( STDMETHODCALLTYPE *EmitRaytracingAccelerationStructurePostbuildInfo )(
- ID3D12GraphicsCommandList6 * This,
- _In_ const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC *pDesc,
- _In_ UINT NumSourceAccelerationStructures,
- _In_reads_( NumSourceAccelerationStructures ) const D3D12_GPU_VIRTUAL_ADDRESS *pSourceAccelerationStructureData);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, CopyRaytracingAccelerationStructure)
- void ( STDMETHODCALLTYPE *CopyRaytracingAccelerationStructure )(
- ID3D12GraphicsCommandList6 * This,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS DestAccelerationStructureData,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS SourceAccelerationStructureData,
- _In_ D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE Mode);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, SetPipelineState1)
- void ( STDMETHODCALLTYPE *SetPipelineState1 )(
- ID3D12GraphicsCommandList6 * This,
- _In_ ID3D12StateObject *pStateObject);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, DispatchRays)
- void ( STDMETHODCALLTYPE *DispatchRays )(
- ID3D12GraphicsCommandList6 * This,
- _In_ const D3D12_DISPATCH_RAYS_DESC *pDesc);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList5, RSSetShadingRate)
- void ( STDMETHODCALLTYPE *RSSetShadingRate )(
- ID3D12GraphicsCommandList6 * This,
- _In_ D3D12_SHADING_RATE baseShadingRate,
- _In_reads_opt_(D3D12_RS_SET_SHADING_RATE_COMBINER_COUNT) const D3D12_SHADING_RATE_COMBINER *combiners);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList5, RSSetShadingRateImage)
- void ( STDMETHODCALLTYPE *RSSetShadingRateImage )(
- ID3D12GraphicsCommandList6 * This,
- _In_opt_ ID3D12Resource *shadingRateImage);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList6, DispatchMesh)
- void ( STDMETHODCALLTYPE *DispatchMesh )(
- ID3D12GraphicsCommandList6 * This,
- _In_ UINT ThreadGroupCountX,
- _In_ UINT ThreadGroupCountY,
- _In_ UINT ThreadGroupCountZ);
-
- END_INTERFACE
- } ID3D12GraphicsCommandList6Vtbl;
- interface ID3D12GraphicsCommandList6
- {
- CONST_VTBL struct ID3D12GraphicsCommandList6Vtbl *lpVtbl;
- };
-
- #ifdef COBJMACROS
- #define ID3D12GraphicsCommandList6_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define ID3D12GraphicsCommandList6_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define ID3D12GraphicsCommandList6_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #define ID3D12GraphicsCommandList6_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
- #define ID3D12GraphicsCommandList6_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
- #define ID3D12GraphicsCommandList6_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
- #define ID3D12GraphicsCommandList6_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
- #define ID3D12GraphicsCommandList6_GetDevice(This,riid,ppvDevice) \
- ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
- #define ID3D12GraphicsCommandList6_GetType(This) \
- ( (This)->lpVtbl -> GetType(This) )
- #define ID3D12GraphicsCommandList6_Close(This) \
- ( (This)->lpVtbl -> Close(This) )
- #define ID3D12GraphicsCommandList6_Reset(This,pAllocator,pInitialState) \
- ( (This)->lpVtbl -> Reset(This,pAllocator,pInitialState) )
- #define ID3D12GraphicsCommandList6_ClearState(This,pPipelineState) \
- ( (This)->lpVtbl -> ClearState(This,pPipelineState) )
- #define ID3D12GraphicsCommandList6_DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) \
- ( (This)->lpVtbl -> DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) )
- #define ID3D12GraphicsCommandList6_DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) \
- ( (This)->lpVtbl -> DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) )
- #define ID3D12GraphicsCommandList6_Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) \
- ( (This)->lpVtbl -> Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) )
- #define ID3D12GraphicsCommandList6_CopyBufferRegion(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) \
- ( (This)->lpVtbl -> CopyBufferRegion(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) )
- #define ID3D12GraphicsCommandList6_CopyTextureRegion(This,pDst,DstX,DstY,DstZ,pSrc,pSrcBox) \
- ( (This)->lpVtbl -> CopyTextureRegion(This,pDst,DstX,DstY,DstZ,pSrc,pSrcBox) )
- #define ID3D12GraphicsCommandList6_CopyResource(This,pDstResource,pSrcResource) \
- ( (This)->lpVtbl -> CopyResource(This,pDstResource,pSrcResource) )
- #define ID3D12GraphicsCommandList6_CopyTiles(This,pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) \
- ( (This)->lpVtbl -> CopyTiles(This,pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) )
- #define ID3D12GraphicsCommandList6_ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) \
- ( (This)->lpVtbl -> ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) )
- #define ID3D12GraphicsCommandList6_IASetPrimitiveTopology(This,PrimitiveTopology) \
- ( (This)->lpVtbl -> IASetPrimitiveTopology(This,PrimitiveTopology) )
- #define ID3D12GraphicsCommandList6_RSSetViewports(This,NumViewports,pViewports) \
- ( (This)->lpVtbl -> RSSetViewports(This,NumViewports,pViewports) )
- #define ID3D12GraphicsCommandList6_RSSetScissorRects(This,NumRects,pRects) \
- ( (This)->lpVtbl -> RSSetScissorRects(This,NumRects,pRects) )
- #define ID3D12GraphicsCommandList6_OMSetBlendFactor(This,BlendFactor) \
- ( (This)->lpVtbl -> OMSetBlendFactor(This,BlendFactor) )
- #define ID3D12GraphicsCommandList6_OMSetStencilRef(This,StencilRef) \
- ( (This)->lpVtbl -> OMSetStencilRef(This,StencilRef) )
- #define ID3D12GraphicsCommandList6_SetPipelineState(This,pPipelineState) \
- ( (This)->lpVtbl -> SetPipelineState(This,pPipelineState) )
- #define ID3D12GraphicsCommandList6_ResourceBarrier(This,NumBarriers,pBarriers) \
- ( (This)->lpVtbl -> ResourceBarrier(This,NumBarriers,pBarriers) )
- #define ID3D12GraphicsCommandList6_ExecuteBundle(This,pCommandList) \
- ( (This)->lpVtbl -> ExecuteBundle(This,pCommandList) )
- #define ID3D12GraphicsCommandList6_SetDescriptorHeaps(This,NumDescriptorHeaps,ppDescriptorHeaps) \
- ( (This)->lpVtbl -> SetDescriptorHeaps(This,NumDescriptorHeaps,ppDescriptorHeaps) )
- #define ID3D12GraphicsCommandList6_SetComputeRootSignature(This,pRootSignature) \
- ( (This)->lpVtbl -> SetComputeRootSignature(This,pRootSignature) )
- #define ID3D12GraphicsCommandList6_SetGraphicsRootSignature(This,pRootSignature) \
- ( (This)->lpVtbl -> SetGraphicsRootSignature(This,pRootSignature) )
- #define ID3D12GraphicsCommandList6_SetComputeRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) \
- ( (This)->lpVtbl -> SetComputeRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) )
- #define ID3D12GraphicsCommandList6_SetGraphicsRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) \
- ( (This)->lpVtbl -> SetGraphicsRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) )
- #define ID3D12GraphicsCommandList6_SetComputeRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) \
- ( (This)->lpVtbl -> SetComputeRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) )
- #define ID3D12GraphicsCommandList6_SetGraphicsRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) \
- ( (This)->lpVtbl -> SetGraphicsRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) )
- #define ID3D12GraphicsCommandList6_SetComputeRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) \
- ( (This)->lpVtbl -> SetComputeRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) )
- #define ID3D12GraphicsCommandList6_SetGraphicsRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) \
- ( (This)->lpVtbl -> SetGraphicsRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) )
- #define ID3D12GraphicsCommandList6_SetComputeRootConstantBufferView(This,RootParameterIndex,BufferLocation) \
- ( (This)->lpVtbl -> SetComputeRootConstantBufferView(This,RootParameterIndex,BufferLocation) )
- #define ID3D12GraphicsCommandList6_SetGraphicsRootConstantBufferView(This,RootParameterIndex,BufferLocation) \
- ( (This)->lpVtbl -> SetGraphicsRootConstantBufferView(This,RootParameterIndex,BufferLocation) )
- #define ID3D12GraphicsCommandList6_SetComputeRootShaderResourceView(This,RootParameterIndex,BufferLocation) \
- ( (This)->lpVtbl -> SetComputeRootShaderResourceView(This,RootParameterIndex,BufferLocation) )
- #define ID3D12GraphicsCommandList6_SetGraphicsRootShaderResourceView(This,RootParameterIndex,BufferLocation) \
- ( (This)->lpVtbl -> SetGraphicsRootShaderResourceView(This,RootParameterIndex,BufferLocation) )
- #define ID3D12GraphicsCommandList6_SetComputeRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) \
- ( (This)->lpVtbl -> SetComputeRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) )
- #define ID3D12GraphicsCommandList6_SetGraphicsRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) \
- ( (This)->lpVtbl -> SetGraphicsRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) )
- #define ID3D12GraphicsCommandList6_IASetIndexBuffer(This,pView) \
- ( (This)->lpVtbl -> IASetIndexBuffer(This,pView) )
- #define ID3D12GraphicsCommandList6_IASetVertexBuffers(This,StartSlot,NumViews,pViews) \
- ( (This)->lpVtbl -> IASetVertexBuffers(This,StartSlot,NumViews,pViews) )
- #define ID3D12GraphicsCommandList6_SOSetTargets(This,StartSlot,NumViews,pViews) \
- ( (This)->lpVtbl -> SOSetTargets(This,StartSlot,NumViews,pViews) )
- #define ID3D12GraphicsCommandList6_OMSetRenderTargets(This,NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) \
- ( (This)->lpVtbl -> OMSetRenderTargets(This,NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) )
- #define ID3D12GraphicsCommandList6_ClearDepthStencilView(This,DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) \
- ( (This)->lpVtbl -> ClearDepthStencilView(This,DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) )
- #define ID3D12GraphicsCommandList6_ClearRenderTargetView(This,RenderTargetView,ColorRGBA,NumRects,pRects) \
- ( (This)->lpVtbl -> ClearRenderTargetView(This,RenderTargetView,ColorRGBA,NumRects,pRects) )
- #define ID3D12GraphicsCommandList6_ClearUnorderedAccessViewUint(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) \
- ( (This)->lpVtbl -> ClearUnorderedAccessViewUint(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) )
- #define ID3D12GraphicsCommandList6_ClearUnorderedAccessViewFloat(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) \
- ( (This)->lpVtbl -> ClearUnorderedAccessViewFloat(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) )
- #define ID3D12GraphicsCommandList6_DiscardResource(This,pResource,pRegion) \
- ( (This)->lpVtbl -> DiscardResource(This,pResource,pRegion) )
- #define ID3D12GraphicsCommandList6_BeginQuery(This,pQueryHeap,Type,Index) \
- ( (This)->lpVtbl -> BeginQuery(This,pQueryHeap,Type,Index) )
- #define ID3D12GraphicsCommandList6_EndQuery(This,pQueryHeap,Type,Index) \
- ( (This)->lpVtbl -> EndQuery(This,pQueryHeap,Type,Index) )
- #define ID3D12GraphicsCommandList6_ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) \
- ( (This)->lpVtbl -> ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) )
- #define ID3D12GraphicsCommandList6_SetPredication(This,pBuffer,AlignedBufferOffset,Operation) \
- ( (This)->lpVtbl -> SetPredication(This,pBuffer,AlignedBufferOffset,Operation) )
- #define ID3D12GraphicsCommandList6_SetMarker(This,Metadata,pData,Size) \
- ( (This)->lpVtbl -> SetMarker(This,Metadata,pData,Size) )
- #define ID3D12GraphicsCommandList6_BeginEvent(This,Metadata,pData,Size) \
- ( (This)->lpVtbl -> BeginEvent(This,Metadata,pData,Size) )
- #define ID3D12GraphicsCommandList6_EndEvent(This) \
- ( (This)->lpVtbl -> EndEvent(This) )
- #define ID3D12GraphicsCommandList6_ExecuteIndirect(This,pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) \
- ( (This)->lpVtbl -> ExecuteIndirect(This,pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) )
- #define ID3D12GraphicsCommandList6_AtomicCopyBufferUINT(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) \
- ( (This)->lpVtbl -> AtomicCopyBufferUINT(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) )
- #define ID3D12GraphicsCommandList6_AtomicCopyBufferUINT64(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) \
- ( (This)->lpVtbl -> AtomicCopyBufferUINT64(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) )
- #define ID3D12GraphicsCommandList6_OMSetDepthBounds(This,Min,Max) \
- ( (This)->lpVtbl -> OMSetDepthBounds(This,Min,Max) )
- #define ID3D12GraphicsCommandList6_SetSamplePositions(This,NumSamplesPerPixel,NumPixels,pSamplePositions) \
- ( (This)->lpVtbl -> SetSamplePositions(This,NumSamplesPerPixel,NumPixels,pSamplePositions) )
- #define ID3D12GraphicsCommandList6_ResolveSubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode) \
- ( (This)->lpVtbl -> ResolveSubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode) )
- #define ID3D12GraphicsCommandList6_SetViewInstanceMask(This,Mask) \
- ( (This)->lpVtbl -> SetViewInstanceMask(This,Mask) )
- #define ID3D12GraphicsCommandList6_WriteBufferImmediate(This,Count,pParams,pModes) \
- ( (This)->lpVtbl -> WriteBufferImmediate(This,Count,pParams,pModes) )
- #define ID3D12GraphicsCommandList6_SetProtectedResourceSession(This,pProtectedResourceSession) \
- ( (This)->lpVtbl -> SetProtectedResourceSession(This,pProtectedResourceSession) )
- #define ID3D12GraphicsCommandList6_BeginRenderPass(This,NumRenderTargets,pRenderTargets,pDepthStencil,Flags) \
- ( (This)->lpVtbl -> BeginRenderPass(This,NumRenderTargets,pRenderTargets,pDepthStencil,Flags) )
- #define ID3D12GraphicsCommandList6_EndRenderPass(This) \
- ( (This)->lpVtbl -> EndRenderPass(This) )
- #define ID3D12GraphicsCommandList6_InitializeMetaCommand(This,pMetaCommand,pInitializationParametersData,InitializationParametersDataSizeInBytes) \
- ( (This)->lpVtbl -> InitializeMetaCommand(This,pMetaCommand,pInitializationParametersData,InitializationParametersDataSizeInBytes) )
- #define ID3D12GraphicsCommandList6_ExecuteMetaCommand(This,pMetaCommand,pExecutionParametersData,ExecutionParametersDataSizeInBytes) \
- ( (This)->lpVtbl -> ExecuteMetaCommand(This,pMetaCommand,pExecutionParametersData,ExecutionParametersDataSizeInBytes) )
- #define ID3D12GraphicsCommandList6_BuildRaytracingAccelerationStructure(This,pDesc,NumPostbuildInfoDescs,pPostbuildInfoDescs) \
- ( (This)->lpVtbl -> BuildRaytracingAccelerationStructure(This,pDesc,NumPostbuildInfoDescs,pPostbuildInfoDescs) )
- #define ID3D12GraphicsCommandList6_EmitRaytracingAccelerationStructurePostbuildInfo(This,pDesc,NumSourceAccelerationStructures,pSourceAccelerationStructureData) \
- ( (This)->lpVtbl -> EmitRaytracingAccelerationStructurePostbuildInfo(This,pDesc,NumSourceAccelerationStructures,pSourceAccelerationStructureData) )
- #define ID3D12GraphicsCommandList6_CopyRaytracingAccelerationStructure(This,DestAccelerationStructureData,SourceAccelerationStructureData,Mode) \
- ( (This)->lpVtbl -> CopyRaytracingAccelerationStructure(This,DestAccelerationStructureData,SourceAccelerationStructureData,Mode) )
- #define ID3D12GraphicsCommandList6_SetPipelineState1(This,pStateObject) \
- ( (This)->lpVtbl -> SetPipelineState1(This,pStateObject) )
- #define ID3D12GraphicsCommandList6_DispatchRays(This,pDesc) \
- ( (This)->lpVtbl -> DispatchRays(This,pDesc) )
- #define ID3D12GraphicsCommandList6_RSSetShadingRate(This,baseShadingRate,combiners) \
- ( (This)->lpVtbl -> RSSetShadingRate(This,baseShadingRate,combiners) )
- #define ID3D12GraphicsCommandList6_RSSetShadingRateImage(This,shadingRateImage) \
- ( (This)->lpVtbl -> RSSetShadingRateImage(This,shadingRateImage) )
- #define ID3D12GraphicsCommandList6_DispatchMesh(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) \
- ( (This)->lpVtbl -> DispatchMesh(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) )
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __ID3D12GraphicsCommandList6_INTERFACE_DEFINED__ */
- #ifndef __ID3D12GraphicsCommandList7_INTERFACE_DEFINED__
- #define __ID3D12GraphicsCommandList7_INTERFACE_DEFINED__
- /* interface ID3D12GraphicsCommandList7 */
- /* [unique][local][object][uuid] */
- EXTERN_C const IID IID_ID3D12GraphicsCommandList7;
- #if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("dd171223-8b61-4769-90e3-160ccde4e2c1")
- ID3D12GraphicsCommandList7 : public ID3D12GraphicsCommandList6
- {
- public:
- virtual void STDMETHODCALLTYPE Barrier(
- UINT32 NumBarrierGroups,
- _In_reads_(NumBarrierGroups) const D3D12_BARRIER_GROUP *pBarrierGroups) = 0;
-
- };
-
-
- #else /* C style interface */
- typedef struct ID3D12GraphicsCommandList7Vtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12GraphicsCommandList7 * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12GraphicsCommandList7 * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12GraphicsCommandList7 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12GraphicsCommandList7 * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12GraphicsCommandList7 * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12GraphicsCommandList7 * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetName)
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12GraphicsCommandList7 * This,
- _In_z_ LPCWSTR Name);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice)
- HRESULT ( STDMETHODCALLTYPE *GetDevice )(
- ID3D12GraphicsCommandList7 * This,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvDevice);
-
- DECLSPEC_XFGVIRT(ID3D12CommandList, GetType)
- D3D12_COMMAND_LIST_TYPE ( STDMETHODCALLTYPE *GetType )(
- ID3D12GraphicsCommandList7 * This);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, Close)
- HRESULT ( STDMETHODCALLTYPE *Close )(
- ID3D12GraphicsCommandList7 * This);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, Reset)
- HRESULT ( STDMETHODCALLTYPE *Reset )(
- ID3D12GraphicsCommandList7 * This,
- _In_ ID3D12CommandAllocator *pAllocator,
- _In_opt_ ID3D12PipelineState *pInitialState);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearState)
- void ( STDMETHODCALLTYPE *ClearState )(
- ID3D12GraphicsCommandList7 * This,
- _In_opt_ ID3D12PipelineState *pPipelineState);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, DrawInstanced)
- void ( STDMETHODCALLTYPE *DrawInstanced )(
- ID3D12GraphicsCommandList7 * This,
- _In_ UINT VertexCountPerInstance,
- _In_ UINT InstanceCount,
- _In_ UINT StartVertexLocation,
- _In_ UINT StartInstanceLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, DrawIndexedInstanced)
- void ( STDMETHODCALLTYPE *DrawIndexedInstanced )(
- ID3D12GraphicsCommandList7 * This,
- _In_ UINT IndexCountPerInstance,
- _In_ UINT InstanceCount,
- _In_ UINT StartIndexLocation,
- _In_ INT BaseVertexLocation,
- _In_ UINT StartInstanceLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, Dispatch)
- void ( STDMETHODCALLTYPE *Dispatch )(
- ID3D12GraphicsCommandList7 * This,
- _In_ UINT ThreadGroupCountX,
- _In_ UINT ThreadGroupCountY,
- _In_ UINT ThreadGroupCountZ);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyBufferRegion)
- void ( STDMETHODCALLTYPE *CopyBufferRegion )(
- ID3D12GraphicsCommandList7 * This,
- _In_ ID3D12Resource *pDstBuffer,
- UINT64 DstOffset,
- _In_ ID3D12Resource *pSrcBuffer,
- UINT64 SrcOffset,
- UINT64 NumBytes);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyTextureRegion)
- void ( STDMETHODCALLTYPE *CopyTextureRegion )(
- ID3D12GraphicsCommandList7 * This,
- _In_ const D3D12_TEXTURE_COPY_LOCATION *pDst,
- UINT DstX,
- UINT DstY,
- UINT DstZ,
- _In_ const D3D12_TEXTURE_COPY_LOCATION *pSrc,
- _In_opt_ const D3D12_BOX *pSrcBox);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyResource)
- void ( STDMETHODCALLTYPE *CopyResource )(
- ID3D12GraphicsCommandList7 * This,
- _In_ ID3D12Resource *pDstResource,
- _In_ ID3D12Resource *pSrcResource);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyTiles)
- void ( STDMETHODCALLTYPE *CopyTiles )(
- ID3D12GraphicsCommandList7 * This,
- _In_ ID3D12Resource *pTiledResource,
- _In_ const D3D12_TILED_RESOURCE_COORDINATE *pTileRegionStartCoordinate,
- _In_ const D3D12_TILE_REGION_SIZE *pTileRegionSize,
- _In_ ID3D12Resource *pBuffer,
- UINT64 BufferStartOffsetInBytes,
- D3D12_TILE_COPY_FLAGS Flags);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ResolveSubresource)
- void ( STDMETHODCALLTYPE *ResolveSubresource )(
- ID3D12GraphicsCommandList7 * This,
- _In_ ID3D12Resource *pDstResource,
- _In_ UINT DstSubresource,
- _In_ ID3D12Resource *pSrcResource,
- _In_ UINT SrcSubresource,
- _In_ DXGI_FORMAT Format);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, IASetPrimitiveTopology)
- void ( STDMETHODCALLTYPE *IASetPrimitiveTopology )(
- ID3D12GraphicsCommandList7 * This,
- _In_ D3D12_PRIMITIVE_TOPOLOGY PrimitiveTopology);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, RSSetViewports)
- void ( STDMETHODCALLTYPE *RSSetViewports )(
- ID3D12GraphicsCommandList7 * This,
- _In_range_(0, D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE) UINT NumViewports,
- _In_reads_( NumViewports) const D3D12_VIEWPORT *pViewports);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, RSSetScissorRects)
- void ( STDMETHODCALLTYPE *RSSetScissorRects )(
- ID3D12GraphicsCommandList7 * This,
- _In_range_(0, D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE) UINT NumRects,
- _In_reads_( NumRects) const D3D12_RECT *pRects);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, OMSetBlendFactor)
- void ( STDMETHODCALLTYPE *OMSetBlendFactor )(
- ID3D12GraphicsCommandList7 * This,
- _In_reads_opt_(4) const FLOAT BlendFactor[ 4 ]);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, OMSetStencilRef)
- void ( STDMETHODCALLTYPE *OMSetStencilRef )(
- ID3D12GraphicsCommandList7 * This,
- _In_ UINT StencilRef);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetPipelineState)
- void ( STDMETHODCALLTYPE *SetPipelineState )(
- ID3D12GraphicsCommandList7 * This,
- _In_ ID3D12PipelineState *pPipelineState);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ResourceBarrier)
- void ( STDMETHODCALLTYPE *ResourceBarrier )(
- ID3D12GraphicsCommandList7 * This,
- _In_ UINT NumBarriers,
- _In_reads_(NumBarriers) const D3D12_RESOURCE_BARRIER *pBarriers);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ExecuteBundle)
- void ( STDMETHODCALLTYPE *ExecuteBundle )(
- ID3D12GraphicsCommandList7 * This,
- _In_ ID3D12GraphicsCommandList *pCommandList);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetDescriptorHeaps)
- void ( STDMETHODCALLTYPE *SetDescriptorHeaps )(
- ID3D12GraphicsCommandList7 * This,
- _In_ UINT NumDescriptorHeaps,
- _In_reads_(NumDescriptorHeaps) ID3D12DescriptorHeap *const *ppDescriptorHeaps);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootSignature)
- void ( STDMETHODCALLTYPE *SetComputeRootSignature )(
- ID3D12GraphicsCommandList7 * This,
- _In_opt_ ID3D12RootSignature *pRootSignature);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootSignature)
- void ( STDMETHODCALLTYPE *SetGraphicsRootSignature )(
- ID3D12GraphicsCommandList7 * This,
- _In_opt_ ID3D12RootSignature *pRootSignature);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootDescriptorTable)
- void ( STDMETHODCALLTYPE *SetComputeRootDescriptorTable )(
- ID3D12GraphicsCommandList7 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootDescriptorTable)
- void ( STDMETHODCALLTYPE *SetGraphicsRootDescriptorTable )(
- ID3D12GraphicsCommandList7 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRoot32BitConstant)
- void ( STDMETHODCALLTYPE *SetComputeRoot32BitConstant )(
- ID3D12GraphicsCommandList7 * This,
- _In_ UINT RootParameterIndex,
- _In_ UINT SrcData,
- _In_ UINT DestOffsetIn32BitValues);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRoot32BitConstant)
- void ( STDMETHODCALLTYPE *SetGraphicsRoot32BitConstant )(
- ID3D12GraphicsCommandList7 * This,
- _In_ UINT RootParameterIndex,
- _In_ UINT SrcData,
- _In_ UINT DestOffsetIn32BitValues);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRoot32BitConstants)
- void ( STDMETHODCALLTYPE *SetComputeRoot32BitConstants )(
- ID3D12GraphicsCommandList7 * This,
- _In_ UINT RootParameterIndex,
- _In_ UINT Num32BitValuesToSet,
- _In_reads_(Num32BitValuesToSet*sizeof(UINT)) const void *pSrcData,
- _In_ UINT DestOffsetIn32BitValues);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRoot32BitConstants)
- void ( STDMETHODCALLTYPE *SetGraphicsRoot32BitConstants )(
- ID3D12GraphicsCommandList7 * This,
- _In_ UINT RootParameterIndex,
- _In_ UINT Num32BitValuesToSet,
- _In_reads_(Num32BitValuesToSet*sizeof(UINT)) const void *pSrcData,
- _In_ UINT DestOffsetIn32BitValues);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootConstantBufferView)
- void ( STDMETHODCALLTYPE *SetComputeRootConstantBufferView )(
- ID3D12GraphicsCommandList7 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootConstantBufferView)
- void ( STDMETHODCALLTYPE *SetGraphicsRootConstantBufferView )(
- ID3D12GraphicsCommandList7 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootShaderResourceView)
- void ( STDMETHODCALLTYPE *SetComputeRootShaderResourceView )(
- ID3D12GraphicsCommandList7 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootShaderResourceView)
- void ( STDMETHODCALLTYPE *SetGraphicsRootShaderResourceView )(
- ID3D12GraphicsCommandList7 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootUnorderedAccessView)
- void ( STDMETHODCALLTYPE *SetComputeRootUnorderedAccessView )(
- ID3D12GraphicsCommandList7 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootUnorderedAccessView)
- void ( STDMETHODCALLTYPE *SetGraphicsRootUnorderedAccessView )(
- ID3D12GraphicsCommandList7 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, IASetIndexBuffer)
- void ( STDMETHODCALLTYPE *IASetIndexBuffer )(
- ID3D12GraphicsCommandList7 * This,
- _In_opt_ const D3D12_INDEX_BUFFER_VIEW *pView);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, IASetVertexBuffers)
- void ( STDMETHODCALLTYPE *IASetVertexBuffers )(
- ID3D12GraphicsCommandList7 * This,
- _In_ UINT StartSlot,
- _In_ UINT NumViews,
- _In_reads_opt_(NumViews) const D3D12_VERTEX_BUFFER_VIEW *pViews);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SOSetTargets)
- void ( STDMETHODCALLTYPE *SOSetTargets )(
- ID3D12GraphicsCommandList7 * This,
- _In_ UINT StartSlot,
- _In_ UINT NumViews,
- _In_reads_opt_(NumViews) const D3D12_STREAM_OUTPUT_BUFFER_VIEW *pViews);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, OMSetRenderTargets)
- void ( STDMETHODCALLTYPE *OMSetRenderTargets )(
- ID3D12GraphicsCommandList7 * This,
- _In_ UINT NumRenderTargetDescriptors,
- _In_opt_ const D3D12_CPU_DESCRIPTOR_HANDLE *pRenderTargetDescriptors,
- _In_ BOOL RTsSingleHandleToDescriptorRange,
- _In_opt_ const D3D12_CPU_DESCRIPTOR_HANDLE *pDepthStencilDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearDepthStencilView)
- void ( STDMETHODCALLTYPE *ClearDepthStencilView )(
- ID3D12GraphicsCommandList7 * This,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DepthStencilView,
- _In_ D3D12_CLEAR_FLAGS ClearFlags,
- _In_ FLOAT Depth,
- _In_ UINT8 Stencil,
- _In_ UINT NumRects,
- _In_reads_(NumRects) const D3D12_RECT *pRects);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearRenderTargetView)
- void ( STDMETHODCALLTYPE *ClearRenderTargetView )(
- ID3D12GraphicsCommandList7 * This,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE RenderTargetView,
- _In_ const FLOAT ColorRGBA[ 4 ],
- _In_ UINT NumRects,
- _In_reads_(NumRects) const D3D12_RECT *pRects);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearUnorderedAccessViewUint)
- void ( STDMETHODCALLTYPE *ClearUnorderedAccessViewUint )(
- ID3D12GraphicsCommandList7 * This,
- _In_ D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle,
- _In_ ID3D12Resource *pResource,
- _In_ const UINT Values[ 4 ],
- _In_ UINT NumRects,
- _In_reads_(NumRects) const D3D12_RECT *pRects);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearUnorderedAccessViewFloat)
- void ( STDMETHODCALLTYPE *ClearUnorderedAccessViewFloat )(
- ID3D12GraphicsCommandList7 * This,
- _In_ D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle,
- _In_ ID3D12Resource *pResource,
- _In_ const FLOAT Values[ 4 ],
- _In_ UINT NumRects,
- _In_reads_(NumRects) const D3D12_RECT *pRects);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, DiscardResource)
- void ( STDMETHODCALLTYPE *DiscardResource )(
- ID3D12GraphicsCommandList7 * This,
- _In_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_DISCARD_REGION *pRegion);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, BeginQuery)
- void ( STDMETHODCALLTYPE *BeginQuery )(
- ID3D12GraphicsCommandList7 * This,
- _In_ ID3D12QueryHeap *pQueryHeap,
- _In_ D3D12_QUERY_TYPE Type,
- _In_ UINT Index);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, EndQuery)
- void ( STDMETHODCALLTYPE *EndQuery )(
- ID3D12GraphicsCommandList7 * This,
- _In_ ID3D12QueryHeap *pQueryHeap,
- _In_ D3D12_QUERY_TYPE Type,
- _In_ UINT Index);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ResolveQueryData)
- void ( STDMETHODCALLTYPE *ResolveQueryData )(
- ID3D12GraphicsCommandList7 * This,
- _In_ ID3D12QueryHeap *pQueryHeap,
- _In_ D3D12_QUERY_TYPE Type,
- _In_ UINT StartIndex,
- _In_ UINT NumQueries,
- _In_ ID3D12Resource *pDestinationBuffer,
- _In_ UINT64 AlignedDestinationBufferOffset);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetPredication)
- void ( STDMETHODCALLTYPE *SetPredication )(
- ID3D12GraphicsCommandList7 * This,
- _In_opt_ ID3D12Resource *pBuffer,
- _In_ UINT64 AlignedBufferOffset,
- _In_ D3D12_PREDICATION_OP Operation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetMarker)
- void ( STDMETHODCALLTYPE *SetMarker )(
- ID3D12GraphicsCommandList7 * This,
- UINT Metadata,
- _In_reads_bytes_opt_(Size) const void *pData,
- UINT Size);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, BeginEvent)
- void ( STDMETHODCALLTYPE *BeginEvent )(
- ID3D12GraphicsCommandList7 * This,
- UINT Metadata,
- _In_reads_bytes_opt_(Size) const void *pData,
- UINT Size);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, EndEvent)
- void ( STDMETHODCALLTYPE *EndEvent )(
- ID3D12GraphicsCommandList7 * This);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ExecuteIndirect)
- void ( STDMETHODCALLTYPE *ExecuteIndirect )(
- ID3D12GraphicsCommandList7 * This,
- _In_ ID3D12CommandSignature *pCommandSignature,
- _In_ UINT MaxCommandCount,
- _In_ ID3D12Resource *pArgumentBuffer,
- _In_ UINT64 ArgumentBufferOffset,
- _In_opt_ ID3D12Resource *pCountBuffer,
- _In_ UINT64 CountBufferOffset);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, AtomicCopyBufferUINT)
- void ( STDMETHODCALLTYPE *AtomicCopyBufferUINT )(
- ID3D12GraphicsCommandList7 * This,
- _In_ ID3D12Resource *pDstBuffer,
- UINT64 DstOffset,
- _In_ ID3D12Resource *pSrcBuffer,
- UINT64 SrcOffset,
- UINT Dependencies,
- _In_reads_(Dependencies) ID3D12Resource *const *ppDependentResources,
- _In_reads_(Dependencies) const D3D12_SUBRESOURCE_RANGE_UINT64 *pDependentSubresourceRanges);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, AtomicCopyBufferUINT64)
- void ( STDMETHODCALLTYPE *AtomicCopyBufferUINT64 )(
- ID3D12GraphicsCommandList7 * This,
- _In_ ID3D12Resource *pDstBuffer,
- UINT64 DstOffset,
- _In_ ID3D12Resource *pSrcBuffer,
- UINT64 SrcOffset,
- UINT Dependencies,
- _In_reads_(Dependencies) ID3D12Resource *const *ppDependentResources,
- _In_reads_(Dependencies) const D3D12_SUBRESOURCE_RANGE_UINT64 *pDependentSubresourceRanges);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, OMSetDepthBounds)
- void ( STDMETHODCALLTYPE *OMSetDepthBounds )(
- ID3D12GraphicsCommandList7 * This,
- _In_ FLOAT Min,
- _In_ FLOAT Max);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, SetSamplePositions)
- void ( STDMETHODCALLTYPE *SetSamplePositions )(
- ID3D12GraphicsCommandList7 * This,
- _In_ UINT NumSamplesPerPixel,
- _In_ UINT NumPixels,
- _In_reads_(NumSamplesPerPixel*NumPixels) D3D12_SAMPLE_POSITION *pSamplePositions);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, ResolveSubresourceRegion)
- void ( STDMETHODCALLTYPE *ResolveSubresourceRegion )(
- ID3D12GraphicsCommandList7 * This,
- _In_ ID3D12Resource *pDstResource,
- _In_ UINT DstSubresource,
- _In_ UINT DstX,
- _In_ UINT DstY,
- _In_ ID3D12Resource *pSrcResource,
- _In_ UINT SrcSubresource,
- _In_opt_ D3D12_RECT *pSrcRect,
- _In_ DXGI_FORMAT Format,
- _In_ D3D12_RESOLVE_MODE ResolveMode);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, SetViewInstanceMask)
- void ( STDMETHODCALLTYPE *SetViewInstanceMask )(
- ID3D12GraphicsCommandList7 * This,
- _In_ UINT Mask);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList2, WriteBufferImmediate)
- void ( STDMETHODCALLTYPE *WriteBufferImmediate )(
- ID3D12GraphicsCommandList7 * This,
- UINT Count,
- _In_reads_(Count) const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *pParams,
- _In_reads_opt_(Count) const D3D12_WRITEBUFFERIMMEDIATE_MODE *pModes);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList3, SetProtectedResourceSession)
- void ( STDMETHODCALLTYPE *SetProtectedResourceSession )(
- ID3D12GraphicsCommandList7 * This,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedResourceSession);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, BeginRenderPass)
- void ( STDMETHODCALLTYPE *BeginRenderPass )(
- ID3D12GraphicsCommandList7 * This,
- _In_ UINT NumRenderTargets,
- _In_reads_opt_(NumRenderTargets) const D3D12_RENDER_PASS_RENDER_TARGET_DESC *pRenderTargets,
- _In_opt_ const D3D12_RENDER_PASS_DEPTH_STENCIL_DESC *pDepthStencil,
- D3D12_RENDER_PASS_FLAGS Flags);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, EndRenderPass)
- void ( STDMETHODCALLTYPE *EndRenderPass )(
- ID3D12GraphicsCommandList7 * This);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, InitializeMetaCommand)
- void ( STDMETHODCALLTYPE *InitializeMetaCommand )(
- ID3D12GraphicsCommandList7 * This,
- _In_ ID3D12MetaCommand *pMetaCommand,
- _In_reads_bytes_opt_(InitializationParametersDataSizeInBytes) const void *pInitializationParametersData,
- _In_ SIZE_T InitializationParametersDataSizeInBytes);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, ExecuteMetaCommand)
- void ( STDMETHODCALLTYPE *ExecuteMetaCommand )(
- ID3D12GraphicsCommandList7 * This,
- _In_ ID3D12MetaCommand *pMetaCommand,
- _In_reads_bytes_opt_(ExecutionParametersDataSizeInBytes) const void *pExecutionParametersData,
- _In_ SIZE_T ExecutionParametersDataSizeInBytes);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, BuildRaytracingAccelerationStructure)
- void ( STDMETHODCALLTYPE *BuildRaytracingAccelerationStructure )(
- ID3D12GraphicsCommandList7 * This,
- _In_ const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC *pDesc,
- _In_ UINT NumPostbuildInfoDescs,
- _In_reads_opt_(NumPostbuildInfoDescs) const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC *pPostbuildInfoDescs);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, EmitRaytracingAccelerationStructurePostbuildInfo)
- void ( STDMETHODCALLTYPE *EmitRaytracingAccelerationStructurePostbuildInfo )(
- ID3D12GraphicsCommandList7 * This,
- _In_ const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC *pDesc,
- _In_ UINT NumSourceAccelerationStructures,
- _In_reads_( NumSourceAccelerationStructures ) const D3D12_GPU_VIRTUAL_ADDRESS *pSourceAccelerationStructureData);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, CopyRaytracingAccelerationStructure)
- void ( STDMETHODCALLTYPE *CopyRaytracingAccelerationStructure )(
- ID3D12GraphicsCommandList7 * This,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS DestAccelerationStructureData,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS SourceAccelerationStructureData,
- _In_ D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE Mode);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, SetPipelineState1)
- void ( STDMETHODCALLTYPE *SetPipelineState1 )(
- ID3D12GraphicsCommandList7 * This,
- _In_ ID3D12StateObject *pStateObject);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, DispatchRays)
- void ( STDMETHODCALLTYPE *DispatchRays )(
- ID3D12GraphicsCommandList7 * This,
- _In_ const D3D12_DISPATCH_RAYS_DESC *pDesc);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList5, RSSetShadingRate)
- void ( STDMETHODCALLTYPE *RSSetShadingRate )(
- ID3D12GraphicsCommandList7 * This,
- _In_ D3D12_SHADING_RATE baseShadingRate,
- _In_reads_opt_(D3D12_RS_SET_SHADING_RATE_COMBINER_COUNT) const D3D12_SHADING_RATE_COMBINER *combiners);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList5, RSSetShadingRateImage)
- void ( STDMETHODCALLTYPE *RSSetShadingRateImage )(
- ID3D12GraphicsCommandList7 * This,
- _In_opt_ ID3D12Resource *shadingRateImage);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList6, DispatchMesh)
- void ( STDMETHODCALLTYPE *DispatchMesh )(
- ID3D12GraphicsCommandList7 * This,
- _In_ UINT ThreadGroupCountX,
- _In_ UINT ThreadGroupCountY,
- _In_ UINT ThreadGroupCountZ);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList7, Barrier)
- void ( STDMETHODCALLTYPE *Barrier )(
- ID3D12GraphicsCommandList7 * This,
- UINT32 NumBarrierGroups,
- _In_reads_(NumBarrierGroups) const D3D12_BARRIER_GROUP *pBarrierGroups);
-
- END_INTERFACE
- } ID3D12GraphicsCommandList7Vtbl;
- interface ID3D12GraphicsCommandList7
- {
- CONST_VTBL struct ID3D12GraphicsCommandList7Vtbl *lpVtbl;
- };
-
- #ifdef COBJMACROS
- #define ID3D12GraphicsCommandList7_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define ID3D12GraphicsCommandList7_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define ID3D12GraphicsCommandList7_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #define ID3D12GraphicsCommandList7_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
- #define ID3D12GraphicsCommandList7_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
- #define ID3D12GraphicsCommandList7_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
- #define ID3D12GraphicsCommandList7_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
- #define ID3D12GraphicsCommandList7_GetDevice(This,riid,ppvDevice) \
- ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
- #define ID3D12GraphicsCommandList7_GetType(This) \
- ( (This)->lpVtbl -> GetType(This) )
- #define ID3D12GraphicsCommandList7_Close(This) \
- ( (This)->lpVtbl -> Close(This) )
- #define ID3D12GraphicsCommandList7_Reset(This,pAllocator,pInitialState) \
- ( (This)->lpVtbl -> Reset(This,pAllocator,pInitialState) )
- #define ID3D12GraphicsCommandList7_ClearState(This,pPipelineState) \
- ( (This)->lpVtbl -> ClearState(This,pPipelineState) )
- #define ID3D12GraphicsCommandList7_DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) \
- ( (This)->lpVtbl -> DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) )
- #define ID3D12GraphicsCommandList7_DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) \
- ( (This)->lpVtbl -> DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) )
- #define ID3D12GraphicsCommandList7_Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) \
- ( (This)->lpVtbl -> Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) )
- #define ID3D12GraphicsCommandList7_CopyBufferRegion(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) \
- ( (This)->lpVtbl -> CopyBufferRegion(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) )
- #define ID3D12GraphicsCommandList7_CopyTextureRegion(This,pDst,DstX,DstY,DstZ,pSrc,pSrcBox) \
- ( (This)->lpVtbl -> CopyTextureRegion(This,pDst,DstX,DstY,DstZ,pSrc,pSrcBox) )
- #define ID3D12GraphicsCommandList7_CopyResource(This,pDstResource,pSrcResource) \
- ( (This)->lpVtbl -> CopyResource(This,pDstResource,pSrcResource) )
- #define ID3D12GraphicsCommandList7_CopyTiles(This,pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) \
- ( (This)->lpVtbl -> CopyTiles(This,pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) )
- #define ID3D12GraphicsCommandList7_ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) \
- ( (This)->lpVtbl -> ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) )
- #define ID3D12GraphicsCommandList7_IASetPrimitiveTopology(This,PrimitiveTopology) \
- ( (This)->lpVtbl -> IASetPrimitiveTopology(This,PrimitiveTopology) )
- #define ID3D12GraphicsCommandList7_RSSetViewports(This,NumViewports,pViewports) \
- ( (This)->lpVtbl -> RSSetViewports(This,NumViewports,pViewports) )
- #define ID3D12GraphicsCommandList7_RSSetScissorRects(This,NumRects,pRects) \
- ( (This)->lpVtbl -> RSSetScissorRects(This,NumRects,pRects) )
- #define ID3D12GraphicsCommandList7_OMSetBlendFactor(This,BlendFactor) \
- ( (This)->lpVtbl -> OMSetBlendFactor(This,BlendFactor) )
- #define ID3D12GraphicsCommandList7_OMSetStencilRef(This,StencilRef) \
- ( (This)->lpVtbl -> OMSetStencilRef(This,StencilRef) )
- #define ID3D12GraphicsCommandList7_SetPipelineState(This,pPipelineState) \
- ( (This)->lpVtbl -> SetPipelineState(This,pPipelineState) )
- #define ID3D12GraphicsCommandList7_ResourceBarrier(This,NumBarriers,pBarriers) \
- ( (This)->lpVtbl -> ResourceBarrier(This,NumBarriers,pBarriers) )
- #define ID3D12GraphicsCommandList7_ExecuteBundle(This,pCommandList) \
- ( (This)->lpVtbl -> ExecuteBundle(This,pCommandList) )
- #define ID3D12GraphicsCommandList7_SetDescriptorHeaps(This,NumDescriptorHeaps,ppDescriptorHeaps) \
- ( (This)->lpVtbl -> SetDescriptorHeaps(This,NumDescriptorHeaps,ppDescriptorHeaps) )
- #define ID3D12GraphicsCommandList7_SetComputeRootSignature(This,pRootSignature) \
- ( (This)->lpVtbl -> SetComputeRootSignature(This,pRootSignature) )
- #define ID3D12GraphicsCommandList7_SetGraphicsRootSignature(This,pRootSignature) \
- ( (This)->lpVtbl -> SetGraphicsRootSignature(This,pRootSignature) )
- #define ID3D12GraphicsCommandList7_SetComputeRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) \
- ( (This)->lpVtbl -> SetComputeRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) )
- #define ID3D12GraphicsCommandList7_SetGraphicsRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) \
- ( (This)->lpVtbl -> SetGraphicsRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) )
- #define ID3D12GraphicsCommandList7_SetComputeRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) \
- ( (This)->lpVtbl -> SetComputeRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) )
- #define ID3D12GraphicsCommandList7_SetGraphicsRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) \
- ( (This)->lpVtbl -> SetGraphicsRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) )
- #define ID3D12GraphicsCommandList7_SetComputeRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) \
- ( (This)->lpVtbl -> SetComputeRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) )
- #define ID3D12GraphicsCommandList7_SetGraphicsRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) \
- ( (This)->lpVtbl -> SetGraphicsRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) )
- #define ID3D12GraphicsCommandList7_SetComputeRootConstantBufferView(This,RootParameterIndex,BufferLocation) \
- ( (This)->lpVtbl -> SetComputeRootConstantBufferView(This,RootParameterIndex,BufferLocation) )
- #define ID3D12GraphicsCommandList7_SetGraphicsRootConstantBufferView(This,RootParameterIndex,BufferLocation) \
- ( (This)->lpVtbl -> SetGraphicsRootConstantBufferView(This,RootParameterIndex,BufferLocation) )
- #define ID3D12GraphicsCommandList7_SetComputeRootShaderResourceView(This,RootParameterIndex,BufferLocation) \
- ( (This)->lpVtbl -> SetComputeRootShaderResourceView(This,RootParameterIndex,BufferLocation) )
- #define ID3D12GraphicsCommandList7_SetGraphicsRootShaderResourceView(This,RootParameterIndex,BufferLocation) \
- ( (This)->lpVtbl -> SetGraphicsRootShaderResourceView(This,RootParameterIndex,BufferLocation) )
- #define ID3D12GraphicsCommandList7_SetComputeRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) \
- ( (This)->lpVtbl -> SetComputeRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) )
- #define ID3D12GraphicsCommandList7_SetGraphicsRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) \
- ( (This)->lpVtbl -> SetGraphicsRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) )
- #define ID3D12GraphicsCommandList7_IASetIndexBuffer(This,pView) \
- ( (This)->lpVtbl -> IASetIndexBuffer(This,pView) )
- #define ID3D12GraphicsCommandList7_IASetVertexBuffers(This,StartSlot,NumViews,pViews) \
- ( (This)->lpVtbl -> IASetVertexBuffers(This,StartSlot,NumViews,pViews) )
- #define ID3D12GraphicsCommandList7_SOSetTargets(This,StartSlot,NumViews,pViews) \
- ( (This)->lpVtbl -> SOSetTargets(This,StartSlot,NumViews,pViews) )
- #define ID3D12GraphicsCommandList7_OMSetRenderTargets(This,NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) \
- ( (This)->lpVtbl -> OMSetRenderTargets(This,NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) )
- #define ID3D12GraphicsCommandList7_ClearDepthStencilView(This,DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) \
- ( (This)->lpVtbl -> ClearDepthStencilView(This,DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) )
- #define ID3D12GraphicsCommandList7_ClearRenderTargetView(This,RenderTargetView,ColorRGBA,NumRects,pRects) \
- ( (This)->lpVtbl -> ClearRenderTargetView(This,RenderTargetView,ColorRGBA,NumRects,pRects) )
- #define ID3D12GraphicsCommandList7_ClearUnorderedAccessViewUint(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) \
- ( (This)->lpVtbl -> ClearUnorderedAccessViewUint(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) )
- #define ID3D12GraphicsCommandList7_ClearUnorderedAccessViewFloat(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) \
- ( (This)->lpVtbl -> ClearUnorderedAccessViewFloat(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) )
- #define ID3D12GraphicsCommandList7_DiscardResource(This,pResource,pRegion) \
- ( (This)->lpVtbl -> DiscardResource(This,pResource,pRegion) )
- #define ID3D12GraphicsCommandList7_BeginQuery(This,pQueryHeap,Type,Index) \
- ( (This)->lpVtbl -> BeginQuery(This,pQueryHeap,Type,Index) )
- #define ID3D12GraphicsCommandList7_EndQuery(This,pQueryHeap,Type,Index) \
- ( (This)->lpVtbl -> EndQuery(This,pQueryHeap,Type,Index) )
- #define ID3D12GraphicsCommandList7_ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) \
- ( (This)->lpVtbl -> ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) )
- #define ID3D12GraphicsCommandList7_SetPredication(This,pBuffer,AlignedBufferOffset,Operation) \
- ( (This)->lpVtbl -> SetPredication(This,pBuffer,AlignedBufferOffset,Operation) )
- #define ID3D12GraphicsCommandList7_SetMarker(This,Metadata,pData,Size) \
- ( (This)->lpVtbl -> SetMarker(This,Metadata,pData,Size) )
- #define ID3D12GraphicsCommandList7_BeginEvent(This,Metadata,pData,Size) \
- ( (This)->lpVtbl -> BeginEvent(This,Metadata,pData,Size) )
- #define ID3D12GraphicsCommandList7_EndEvent(This) \
- ( (This)->lpVtbl -> EndEvent(This) )
- #define ID3D12GraphicsCommandList7_ExecuteIndirect(This,pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) \
- ( (This)->lpVtbl -> ExecuteIndirect(This,pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) )
- #define ID3D12GraphicsCommandList7_AtomicCopyBufferUINT(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) \
- ( (This)->lpVtbl -> AtomicCopyBufferUINT(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) )
- #define ID3D12GraphicsCommandList7_AtomicCopyBufferUINT64(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) \
- ( (This)->lpVtbl -> AtomicCopyBufferUINT64(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) )
- #define ID3D12GraphicsCommandList7_OMSetDepthBounds(This,Min,Max) \
- ( (This)->lpVtbl -> OMSetDepthBounds(This,Min,Max) )
- #define ID3D12GraphicsCommandList7_SetSamplePositions(This,NumSamplesPerPixel,NumPixels,pSamplePositions) \
- ( (This)->lpVtbl -> SetSamplePositions(This,NumSamplesPerPixel,NumPixels,pSamplePositions) )
- #define ID3D12GraphicsCommandList7_ResolveSubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode) \
- ( (This)->lpVtbl -> ResolveSubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode) )
- #define ID3D12GraphicsCommandList7_SetViewInstanceMask(This,Mask) \
- ( (This)->lpVtbl -> SetViewInstanceMask(This,Mask) )
- #define ID3D12GraphicsCommandList7_WriteBufferImmediate(This,Count,pParams,pModes) \
- ( (This)->lpVtbl -> WriteBufferImmediate(This,Count,pParams,pModes) )
- #define ID3D12GraphicsCommandList7_SetProtectedResourceSession(This,pProtectedResourceSession) \
- ( (This)->lpVtbl -> SetProtectedResourceSession(This,pProtectedResourceSession) )
- #define ID3D12GraphicsCommandList7_BeginRenderPass(This,NumRenderTargets,pRenderTargets,pDepthStencil,Flags) \
- ( (This)->lpVtbl -> BeginRenderPass(This,NumRenderTargets,pRenderTargets,pDepthStencil,Flags) )
- #define ID3D12GraphicsCommandList7_EndRenderPass(This) \
- ( (This)->lpVtbl -> EndRenderPass(This) )
- #define ID3D12GraphicsCommandList7_InitializeMetaCommand(This,pMetaCommand,pInitializationParametersData,InitializationParametersDataSizeInBytes) \
- ( (This)->lpVtbl -> InitializeMetaCommand(This,pMetaCommand,pInitializationParametersData,InitializationParametersDataSizeInBytes) )
- #define ID3D12GraphicsCommandList7_ExecuteMetaCommand(This,pMetaCommand,pExecutionParametersData,ExecutionParametersDataSizeInBytes) \
- ( (This)->lpVtbl -> ExecuteMetaCommand(This,pMetaCommand,pExecutionParametersData,ExecutionParametersDataSizeInBytes) )
- #define ID3D12GraphicsCommandList7_BuildRaytracingAccelerationStructure(This,pDesc,NumPostbuildInfoDescs,pPostbuildInfoDescs) \
- ( (This)->lpVtbl -> BuildRaytracingAccelerationStructure(This,pDesc,NumPostbuildInfoDescs,pPostbuildInfoDescs) )
- #define ID3D12GraphicsCommandList7_EmitRaytracingAccelerationStructurePostbuildInfo(This,pDesc,NumSourceAccelerationStructures,pSourceAccelerationStructureData) \
- ( (This)->lpVtbl -> EmitRaytracingAccelerationStructurePostbuildInfo(This,pDesc,NumSourceAccelerationStructures,pSourceAccelerationStructureData) )
- #define ID3D12GraphicsCommandList7_CopyRaytracingAccelerationStructure(This,DestAccelerationStructureData,SourceAccelerationStructureData,Mode) \
- ( (This)->lpVtbl -> CopyRaytracingAccelerationStructure(This,DestAccelerationStructureData,SourceAccelerationStructureData,Mode) )
- #define ID3D12GraphicsCommandList7_SetPipelineState1(This,pStateObject) \
- ( (This)->lpVtbl -> SetPipelineState1(This,pStateObject) )
- #define ID3D12GraphicsCommandList7_DispatchRays(This,pDesc) \
- ( (This)->lpVtbl -> DispatchRays(This,pDesc) )
- #define ID3D12GraphicsCommandList7_RSSetShadingRate(This,baseShadingRate,combiners) \
- ( (This)->lpVtbl -> RSSetShadingRate(This,baseShadingRate,combiners) )
- #define ID3D12GraphicsCommandList7_RSSetShadingRateImage(This,shadingRateImage) \
- ( (This)->lpVtbl -> RSSetShadingRateImage(This,shadingRateImage) )
- #define ID3D12GraphicsCommandList7_DispatchMesh(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) \
- ( (This)->lpVtbl -> DispatchMesh(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) )
- #define ID3D12GraphicsCommandList7_Barrier(This,NumBarrierGroups,pBarrierGroups) \
- ( (This)->lpVtbl -> Barrier(This,NumBarrierGroups,pBarrierGroups) )
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __ID3D12GraphicsCommandList7_INTERFACE_DEFINED__ */
- #ifndef __ID3D12GraphicsCommandList8_INTERFACE_DEFINED__
- #define __ID3D12GraphicsCommandList8_INTERFACE_DEFINED__
- /* interface ID3D12GraphicsCommandList8 */
- /* [unique][local][object][uuid] */
- EXTERN_C const IID IID_ID3D12GraphicsCommandList8;
- #if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("ee936ef9-599d-4d28-938e-23c4ad05ce51")
- ID3D12GraphicsCommandList8 : public ID3D12GraphicsCommandList7
- {
- public:
- virtual void STDMETHODCALLTYPE OMSetFrontAndBackStencilRef(
- _In_ UINT FrontStencilRef,
- _In_ UINT BackStencilRef) = 0;
-
- };
-
-
- #else /* C style interface */
- typedef struct ID3D12GraphicsCommandList8Vtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12GraphicsCommandList8 * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12GraphicsCommandList8 * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12GraphicsCommandList8 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12GraphicsCommandList8 * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12GraphicsCommandList8 * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12GraphicsCommandList8 * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetName)
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12GraphicsCommandList8 * This,
- _In_z_ LPCWSTR Name);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice)
- HRESULT ( STDMETHODCALLTYPE *GetDevice )(
- ID3D12GraphicsCommandList8 * This,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvDevice);
-
- DECLSPEC_XFGVIRT(ID3D12CommandList, GetType)
- D3D12_COMMAND_LIST_TYPE ( STDMETHODCALLTYPE *GetType )(
- ID3D12GraphicsCommandList8 * This);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, Close)
- HRESULT ( STDMETHODCALLTYPE *Close )(
- ID3D12GraphicsCommandList8 * This);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, Reset)
- HRESULT ( STDMETHODCALLTYPE *Reset )(
- ID3D12GraphicsCommandList8 * This,
- _In_ ID3D12CommandAllocator *pAllocator,
- _In_opt_ ID3D12PipelineState *pInitialState);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearState)
- void ( STDMETHODCALLTYPE *ClearState )(
- ID3D12GraphicsCommandList8 * This,
- _In_opt_ ID3D12PipelineState *pPipelineState);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, DrawInstanced)
- void ( STDMETHODCALLTYPE *DrawInstanced )(
- ID3D12GraphicsCommandList8 * This,
- _In_ UINT VertexCountPerInstance,
- _In_ UINT InstanceCount,
- _In_ UINT StartVertexLocation,
- _In_ UINT StartInstanceLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, DrawIndexedInstanced)
- void ( STDMETHODCALLTYPE *DrawIndexedInstanced )(
- ID3D12GraphicsCommandList8 * This,
- _In_ UINT IndexCountPerInstance,
- _In_ UINT InstanceCount,
- _In_ UINT StartIndexLocation,
- _In_ INT BaseVertexLocation,
- _In_ UINT StartInstanceLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, Dispatch)
- void ( STDMETHODCALLTYPE *Dispatch )(
- ID3D12GraphicsCommandList8 * This,
- _In_ UINT ThreadGroupCountX,
- _In_ UINT ThreadGroupCountY,
- _In_ UINT ThreadGroupCountZ);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyBufferRegion)
- void ( STDMETHODCALLTYPE *CopyBufferRegion )(
- ID3D12GraphicsCommandList8 * This,
- _In_ ID3D12Resource *pDstBuffer,
- UINT64 DstOffset,
- _In_ ID3D12Resource *pSrcBuffer,
- UINT64 SrcOffset,
- UINT64 NumBytes);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyTextureRegion)
- void ( STDMETHODCALLTYPE *CopyTextureRegion )(
- ID3D12GraphicsCommandList8 * This,
- _In_ const D3D12_TEXTURE_COPY_LOCATION *pDst,
- UINT DstX,
- UINT DstY,
- UINT DstZ,
- _In_ const D3D12_TEXTURE_COPY_LOCATION *pSrc,
- _In_opt_ const D3D12_BOX *pSrcBox);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyResource)
- void ( STDMETHODCALLTYPE *CopyResource )(
- ID3D12GraphicsCommandList8 * This,
- _In_ ID3D12Resource *pDstResource,
- _In_ ID3D12Resource *pSrcResource);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyTiles)
- void ( STDMETHODCALLTYPE *CopyTiles )(
- ID3D12GraphicsCommandList8 * This,
- _In_ ID3D12Resource *pTiledResource,
- _In_ const D3D12_TILED_RESOURCE_COORDINATE *pTileRegionStartCoordinate,
- _In_ const D3D12_TILE_REGION_SIZE *pTileRegionSize,
- _In_ ID3D12Resource *pBuffer,
- UINT64 BufferStartOffsetInBytes,
- D3D12_TILE_COPY_FLAGS Flags);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ResolveSubresource)
- void ( STDMETHODCALLTYPE *ResolveSubresource )(
- ID3D12GraphicsCommandList8 * This,
- _In_ ID3D12Resource *pDstResource,
- _In_ UINT DstSubresource,
- _In_ ID3D12Resource *pSrcResource,
- _In_ UINT SrcSubresource,
- _In_ DXGI_FORMAT Format);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, IASetPrimitiveTopology)
- void ( STDMETHODCALLTYPE *IASetPrimitiveTopology )(
- ID3D12GraphicsCommandList8 * This,
- _In_ D3D12_PRIMITIVE_TOPOLOGY PrimitiveTopology);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, RSSetViewports)
- void ( STDMETHODCALLTYPE *RSSetViewports )(
- ID3D12GraphicsCommandList8 * This,
- _In_range_(0, D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE) UINT NumViewports,
- _In_reads_( NumViewports) const D3D12_VIEWPORT *pViewports);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, RSSetScissorRects)
- void ( STDMETHODCALLTYPE *RSSetScissorRects )(
- ID3D12GraphicsCommandList8 * This,
- _In_range_(0, D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE) UINT NumRects,
- _In_reads_( NumRects) const D3D12_RECT *pRects);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, OMSetBlendFactor)
- void ( STDMETHODCALLTYPE *OMSetBlendFactor )(
- ID3D12GraphicsCommandList8 * This,
- _In_reads_opt_(4) const FLOAT BlendFactor[ 4 ]);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, OMSetStencilRef)
- void ( STDMETHODCALLTYPE *OMSetStencilRef )(
- ID3D12GraphicsCommandList8 * This,
- _In_ UINT StencilRef);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetPipelineState)
- void ( STDMETHODCALLTYPE *SetPipelineState )(
- ID3D12GraphicsCommandList8 * This,
- _In_ ID3D12PipelineState *pPipelineState);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ResourceBarrier)
- void ( STDMETHODCALLTYPE *ResourceBarrier )(
- ID3D12GraphicsCommandList8 * This,
- _In_ UINT NumBarriers,
- _In_reads_(NumBarriers) const D3D12_RESOURCE_BARRIER *pBarriers);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ExecuteBundle)
- void ( STDMETHODCALLTYPE *ExecuteBundle )(
- ID3D12GraphicsCommandList8 * This,
- _In_ ID3D12GraphicsCommandList *pCommandList);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetDescriptorHeaps)
- void ( STDMETHODCALLTYPE *SetDescriptorHeaps )(
- ID3D12GraphicsCommandList8 * This,
- _In_ UINT NumDescriptorHeaps,
- _In_reads_(NumDescriptorHeaps) ID3D12DescriptorHeap *const *ppDescriptorHeaps);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootSignature)
- void ( STDMETHODCALLTYPE *SetComputeRootSignature )(
- ID3D12GraphicsCommandList8 * This,
- _In_opt_ ID3D12RootSignature *pRootSignature);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootSignature)
- void ( STDMETHODCALLTYPE *SetGraphicsRootSignature )(
- ID3D12GraphicsCommandList8 * This,
- _In_opt_ ID3D12RootSignature *pRootSignature);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootDescriptorTable)
- void ( STDMETHODCALLTYPE *SetComputeRootDescriptorTable )(
- ID3D12GraphicsCommandList8 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootDescriptorTable)
- void ( STDMETHODCALLTYPE *SetGraphicsRootDescriptorTable )(
- ID3D12GraphicsCommandList8 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRoot32BitConstant)
- void ( STDMETHODCALLTYPE *SetComputeRoot32BitConstant )(
- ID3D12GraphicsCommandList8 * This,
- _In_ UINT RootParameterIndex,
- _In_ UINT SrcData,
- _In_ UINT DestOffsetIn32BitValues);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRoot32BitConstant)
- void ( STDMETHODCALLTYPE *SetGraphicsRoot32BitConstant )(
- ID3D12GraphicsCommandList8 * This,
- _In_ UINT RootParameterIndex,
- _In_ UINT SrcData,
- _In_ UINT DestOffsetIn32BitValues);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRoot32BitConstants)
- void ( STDMETHODCALLTYPE *SetComputeRoot32BitConstants )(
- ID3D12GraphicsCommandList8 * This,
- _In_ UINT RootParameterIndex,
- _In_ UINT Num32BitValuesToSet,
- _In_reads_(Num32BitValuesToSet*sizeof(UINT)) const void *pSrcData,
- _In_ UINT DestOffsetIn32BitValues);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRoot32BitConstants)
- void ( STDMETHODCALLTYPE *SetGraphicsRoot32BitConstants )(
- ID3D12GraphicsCommandList8 * This,
- _In_ UINT RootParameterIndex,
- _In_ UINT Num32BitValuesToSet,
- _In_reads_(Num32BitValuesToSet*sizeof(UINT)) const void *pSrcData,
- _In_ UINT DestOffsetIn32BitValues);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootConstantBufferView)
- void ( STDMETHODCALLTYPE *SetComputeRootConstantBufferView )(
- ID3D12GraphicsCommandList8 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootConstantBufferView)
- void ( STDMETHODCALLTYPE *SetGraphicsRootConstantBufferView )(
- ID3D12GraphicsCommandList8 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootShaderResourceView)
- void ( STDMETHODCALLTYPE *SetComputeRootShaderResourceView )(
- ID3D12GraphicsCommandList8 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootShaderResourceView)
- void ( STDMETHODCALLTYPE *SetGraphicsRootShaderResourceView )(
- ID3D12GraphicsCommandList8 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootUnorderedAccessView)
- void ( STDMETHODCALLTYPE *SetComputeRootUnorderedAccessView )(
- ID3D12GraphicsCommandList8 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootUnorderedAccessView)
- void ( STDMETHODCALLTYPE *SetGraphicsRootUnorderedAccessView )(
- ID3D12GraphicsCommandList8 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, IASetIndexBuffer)
- void ( STDMETHODCALLTYPE *IASetIndexBuffer )(
- ID3D12GraphicsCommandList8 * This,
- _In_opt_ const D3D12_INDEX_BUFFER_VIEW *pView);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, IASetVertexBuffers)
- void ( STDMETHODCALLTYPE *IASetVertexBuffers )(
- ID3D12GraphicsCommandList8 * This,
- _In_ UINT StartSlot,
- _In_ UINT NumViews,
- _In_reads_opt_(NumViews) const D3D12_VERTEX_BUFFER_VIEW *pViews);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SOSetTargets)
- void ( STDMETHODCALLTYPE *SOSetTargets )(
- ID3D12GraphicsCommandList8 * This,
- _In_ UINT StartSlot,
- _In_ UINT NumViews,
- _In_reads_opt_(NumViews) const D3D12_STREAM_OUTPUT_BUFFER_VIEW *pViews);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, OMSetRenderTargets)
- void ( STDMETHODCALLTYPE *OMSetRenderTargets )(
- ID3D12GraphicsCommandList8 * This,
- _In_ UINT NumRenderTargetDescriptors,
- _In_opt_ const D3D12_CPU_DESCRIPTOR_HANDLE *pRenderTargetDescriptors,
- _In_ BOOL RTsSingleHandleToDescriptorRange,
- _In_opt_ const D3D12_CPU_DESCRIPTOR_HANDLE *pDepthStencilDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearDepthStencilView)
- void ( STDMETHODCALLTYPE *ClearDepthStencilView )(
- ID3D12GraphicsCommandList8 * This,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DepthStencilView,
- _In_ D3D12_CLEAR_FLAGS ClearFlags,
- _In_ FLOAT Depth,
- _In_ UINT8 Stencil,
- _In_ UINT NumRects,
- _In_reads_(NumRects) const D3D12_RECT *pRects);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearRenderTargetView)
- void ( STDMETHODCALLTYPE *ClearRenderTargetView )(
- ID3D12GraphicsCommandList8 * This,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE RenderTargetView,
- _In_ const FLOAT ColorRGBA[ 4 ],
- _In_ UINT NumRects,
- _In_reads_(NumRects) const D3D12_RECT *pRects);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearUnorderedAccessViewUint)
- void ( STDMETHODCALLTYPE *ClearUnorderedAccessViewUint )(
- ID3D12GraphicsCommandList8 * This,
- _In_ D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle,
- _In_ ID3D12Resource *pResource,
- _In_ const UINT Values[ 4 ],
- _In_ UINT NumRects,
- _In_reads_(NumRects) const D3D12_RECT *pRects);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearUnorderedAccessViewFloat)
- void ( STDMETHODCALLTYPE *ClearUnorderedAccessViewFloat )(
- ID3D12GraphicsCommandList8 * This,
- _In_ D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle,
- _In_ ID3D12Resource *pResource,
- _In_ const FLOAT Values[ 4 ],
- _In_ UINT NumRects,
- _In_reads_(NumRects) const D3D12_RECT *pRects);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, DiscardResource)
- void ( STDMETHODCALLTYPE *DiscardResource )(
- ID3D12GraphicsCommandList8 * This,
- _In_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_DISCARD_REGION *pRegion);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, BeginQuery)
- void ( STDMETHODCALLTYPE *BeginQuery )(
- ID3D12GraphicsCommandList8 * This,
- _In_ ID3D12QueryHeap *pQueryHeap,
- _In_ D3D12_QUERY_TYPE Type,
- _In_ UINT Index);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, EndQuery)
- void ( STDMETHODCALLTYPE *EndQuery )(
- ID3D12GraphicsCommandList8 * This,
- _In_ ID3D12QueryHeap *pQueryHeap,
- _In_ D3D12_QUERY_TYPE Type,
- _In_ UINT Index);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ResolveQueryData)
- void ( STDMETHODCALLTYPE *ResolveQueryData )(
- ID3D12GraphicsCommandList8 * This,
- _In_ ID3D12QueryHeap *pQueryHeap,
- _In_ D3D12_QUERY_TYPE Type,
- _In_ UINT StartIndex,
- _In_ UINT NumQueries,
- _In_ ID3D12Resource *pDestinationBuffer,
- _In_ UINT64 AlignedDestinationBufferOffset);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetPredication)
- void ( STDMETHODCALLTYPE *SetPredication )(
- ID3D12GraphicsCommandList8 * This,
- _In_opt_ ID3D12Resource *pBuffer,
- _In_ UINT64 AlignedBufferOffset,
- _In_ D3D12_PREDICATION_OP Operation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetMarker)
- void ( STDMETHODCALLTYPE *SetMarker )(
- ID3D12GraphicsCommandList8 * This,
- UINT Metadata,
- _In_reads_bytes_opt_(Size) const void *pData,
- UINT Size);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, BeginEvent)
- void ( STDMETHODCALLTYPE *BeginEvent )(
- ID3D12GraphicsCommandList8 * This,
- UINT Metadata,
- _In_reads_bytes_opt_(Size) const void *pData,
- UINT Size);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, EndEvent)
- void ( STDMETHODCALLTYPE *EndEvent )(
- ID3D12GraphicsCommandList8 * This);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ExecuteIndirect)
- void ( STDMETHODCALLTYPE *ExecuteIndirect )(
- ID3D12GraphicsCommandList8 * This,
- _In_ ID3D12CommandSignature *pCommandSignature,
- _In_ UINT MaxCommandCount,
- _In_ ID3D12Resource *pArgumentBuffer,
- _In_ UINT64 ArgumentBufferOffset,
- _In_opt_ ID3D12Resource *pCountBuffer,
- _In_ UINT64 CountBufferOffset);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, AtomicCopyBufferUINT)
- void ( STDMETHODCALLTYPE *AtomicCopyBufferUINT )(
- ID3D12GraphicsCommandList8 * This,
- _In_ ID3D12Resource *pDstBuffer,
- UINT64 DstOffset,
- _In_ ID3D12Resource *pSrcBuffer,
- UINT64 SrcOffset,
- UINT Dependencies,
- _In_reads_(Dependencies) ID3D12Resource *const *ppDependentResources,
- _In_reads_(Dependencies) const D3D12_SUBRESOURCE_RANGE_UINT64 *pDependentSubresourceRanges);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, AtomicCopyBufferUINT64)
- void ( STDMETHODCALLTYPE *AtomicCopyBufferUINT64 )(
- ID3D12GraphicsCommandList8 * This,
- _In_ ID3D12Resource *pDstBuffer,
- UINT64 DstOffset,
- _In_ ID3D12Resource *pSrcBuffer,
- UINT64 SrcOffset,
- UINT Dependencies,
- _In_reads_(Dependencies) ID3D12Resource *const *ppDependentResources,
- _In_reads_(Dependencies) const D3D12_SUBRESOURCE_RANGE_UINT64 *pDependentSubresourceRanges);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, OMSetDepthBounds)
- void ( STDMETHODCALLTYPE *OMSetDepthBounds )(
- ID3D12GraphicsCommandList8 * This,
- _In_ FLOAT Min,
- _In_ FLOAT Max);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, SetSamplePositions)
- void ( STDMETHODCALLTYPE *SetSamplePositions )(
- ID3D12GraphicsCommandList8 * This,
- _In_ UINT NumSamplesPerPixel,
- _In_ UINT NumPixels,
- _In_reads_(NumSamplesPerPixel*NumPixels) D3D12_SAMPLE_POSITION *pSamplePositions);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, ResolveSubresourceRegion)
- void ( STDMETHODCALLTYPE *ResolveSubresourceRegion )(
- ID3D12GraphicsCommandList8 * This,
- _In_ ID3D12Resource *pDstResource,
- _In_ UINT DstSubresource,
- _In_ UINT DstX,
- _In_ UINT DstY,
- _In_ ID3D12Resource *pSrcResource,
- _In_ UINT SrcSubresource,
- _In_opt_ D3D12_RECT *pSrcRect,
- _In_ DXGI_FORMAT Format,
- _In_ D3D12_RESOLVE_MODE ResolveMode);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, SetViewInstanceMask)
- void ( STDMETHODCALLTYPE *SetViewInstanceMask )(
- ID3D12GraphicsCommandList8 * This,
- _In_ UINT Mask);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList2, WriteBufferImmediate)
- void ( STDMETHODCALLTYPE *WriteBufferImmediate )(
- ID3D12GraphicsCommandList8 * This,
- UINT Count,
- _In_reads_(Count) const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *pParams,
- _In_reads_opt_(Count) const D3D12_WRITEBUFFERIMMEDIATE_MODE *pModes);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList3, SetProtectedResourceSession)
- void ( STDMETHODCALLTYPE *SetProtectedResourceSession )(
- ID3D12GraphicsCommandList8 * This,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedResourceSession);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, BeginRenderPass)
- void ( STDMETHODCALLTYPE *BeginRenderPass )(
- ID3D12GraphicsCommandList8 * This,
- _In_ UINT NumRenderTargets,
- _In_reads_opt_(NumRenderTargets) const D3D12_RENDER_PASS_RENDER_TARGET_DESC *pRenderTargets,
- _In_opt_ const D3D12_RENDER_PASS_DEPTH_STENCIL_DESC *pDepthStencil,
- D3D12_RENDER_PASS_FLAGS Flags);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, EndRenderPass)
- void ( STDMETHODCALLTYPE *EndRenderPass )(
- ID3D12GraphicsCommandList8 * This);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, InitializeMetaCommand)
- void ( STDMETHODCALLTYPE *InitializeMetaCommand )(
- ID3D12GraphicsCommandList8 * This,
- _In_ ID3D12MetaCommand *pMetaCommand,
- _In_reads_bytes_opt_(InitializationParametersDataSizeInBytes) const void *pInitializationParametersData,
- _In_ SIZE_T InitializationParametersDataSizeInBytes);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, ExecuteMetaCommand)
- void ( STDMETHODCALLTYPE *ExecuteMetaCommand )(
- ID3D12GraphicsCommandList8 * This,
- _In_ ID3D12MetaCommand *pMetaCommand,
- _In_reads_bytes_opt_(ExecutionParametersDataSizeInBytes) const void *pExecutionParametersData,
- _In_ SIZE_T ExecutionParametersDataSizeInBytes);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, BuildRaytracingAccelerationStructure)
- void ( STDMETHODCALLTYPE *BuildRaytracingAccelerationStructure )(
- ID3D12GraphicsCommandList8 * This,
- _In_ const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC *pDesc,
- _In_ UINT NumPostbuildInfoDescs,
- _In_reads_opt_(NumPostbuildInfoDescs) const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC *pPostbuildInfoDescs);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, EmitRaytracingAccelerationStructurePostbuildInfo)
- void ( STDMETHODCALLTYPE *EmitRaytracingAccelerationStructurePostbuildInfo )(
- ID3D12GraphicsCommandList8 * This,
- _In_ const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC *pDesc,
- _In_ UINT NumSourceAccelerationStructures,
- _In_reads_( NumSourceAccelerationStructures ) const D3D12_GPU_VIRTUAL_ADDRESS *pSourceAccelerationStructureData);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, CopyRaytracingAccelerationStructure)
- void ( STDMETHODCALLTYPE *CopyRaytracingAccelerationStructure )(
- ID3D12GraphicsCommandList8 * This,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS DestAccelerationStructureData,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS SourceAccelerationStructureData,
- _In_ D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE Mode);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, SetPipelineState1)
- void ( STDMETHODCALLTYPE *SetPipelineState1 )(
- ID3D12GraphicsCommandList8 * This,
- _In_ ID3D12StateObject *pStateObject);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, DispatchRays)
- void ( STDMETHODCALLTYPE *DispatchRays )(
- ID3D12GraphicsCommandList8 * This,
- _In_ const D3D12_DISPATCH_RAYS_DESC *pDesc);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList5, RSSetShadingRate)
- void ( STDMETHODCALLTYPE *RSSetShadingRate )(
- ID3D12GraphicsCommandList8 * This,
- _In_ D3D12_SHADING_RATE baseShadingRate,
- _In_reads_opt_(D3D12_RS_SET_SHADING_RATE_COMBINER_COUNT) const D3D12_SHADING_RATE_COMBINER *combiners);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList5, RSSetShadingRateImage)
- void ( STDMETHODCALLTYPE *RSSetShadingRateImage )(
- ID3D12GraphicsCommandList8 * This,
- _In_opt_ ID3D12Resource *shadingRateImage);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList6, DispatchMesh)
- void ( STDMETHODCALLTYPE *DispatchMesh )(
- ID3D12GraphicsCommandList8 * This,
- _In_ UINT ThreadGroupCountX,
- _In_ UINT ThreadGroupCountY,
- _In_ UINT ThreadGroupCountZ);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList7, Barrier)
- void ( STDMETHODCALLTYPE *Barrier )(
- ID3D12GraphicsCommandList8 * This,
- UINT32 NumBarrierGroups,
- _In_reads_(NumBarrierGroups) const D3D12_BARRIER_GROUP *pBarrierGroups);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList8, OMSetFrontAndBackStencilRef)
- void ( STDMETHODCALLTYPE *OMSetFrontAndBackStencilRef )(
- ID3D12GraphicsCommandList8 * This,
- _In_ UINT FrontStencilRef,
- _In_ UINT BackStencilRef);
-
- END_INTERFACE
- } ID3D12GraphicsCommandList8Vtbl;
- interface ID3D12GraphicsCommandList8
- {
- CONST_VTBL struct ID3D12GraphicsCommandList8Vtbl *lpVtbl;
- };
-
- #ifdef COBJMACROS
- #define ID3D12GraphicsCommandList8_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define ID3D12GraphicsCommandList8_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define ID3D12GraphicsCommandList8_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #define ID3D12GraphicsCommandList8_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
- #define ID3D12GraphicsCommandList8_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
- #define ID3D12GraphicsCommandList8_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
- #define ID3D12GraphicsCommandList8_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
- #define ID3D12GraphicsCommandList8_GetDevice(This,riid,ppvDevice) \
- ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
- #define ID3D12GraphicsCommandList8_GetType(This) \
- ( (This)->lpVtbl -> GetType(This) )
- #define ID3D12GraphicsCommandList8_Close(This) \
- ( (This)->lpVtbl -> Close(This) )
- #define ID3D12GraphicsCommandList8_Reset(This,pAllocator,pInitialState) \
- ( (This)->lpVtbl -> Reset(This,pAllocator,pInitialState) )
- #define ID3D12GraphicsCommandList8_ClearState(This,pPipelineState) \
- ( (This)->lpVtbl -> ClearState(This,pPipelineState) )
- #define ID3D12GraphicsCommandList8_DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) \
- ( (This)->lpVtbl -> DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) )
- #define ID3D12GraphicsCommandList8_DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) \
- ( (This)->lpVtbl -> DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) )
- #define ID3D12GraphicsCommandList8_Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) \
- ( (This)->lpVtbl -> Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) )
- #define ID3D12GraphicsCommandList8_CopyBufferRegion(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) \
- ( (This)->lpVtbl -> CopyBufferRegion(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) )
- #define ID3D12GraphicsCommandList8_CopyTextureRegion(This,pDst,DstX,DstY,DstZ,pSrc,pSrcBox) \
- ( (This)->lpVtbl -> CopyTextureRegion(This,pDst,DstX,DstY,DstZ,pSrc,pSrcBox) )
- #define ID3D12GraphicsCommandList8_CopyResource(This,pDstResource,pSrcResource) \
- ( (This)->lpVtbl -> CopyResource(This,pDstResource,pSrcResource) )
- #define ID3D12GraphicsCommandList8_CopyTiles(This,pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) \
- ( (This)->lpVtbl -> CopyTiles(This,pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) )
- #define ID3D12GraphicsCommandList8_ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) \
- ( (This)->lpVtbl -> ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) )
- #define ID3D12GraphicsCommandList8_IASetPrimitiveTopology(This,PrimitiveTopology) \
- ( (This)->lpVtbl -> IASetPrimitiveTopology(This,PrimitiveTopology) )
- #define ID3D12GraphicsCommandList8_RSSetViewports(This,NumViewports,pViewports) \
- ( (This)->lpVtbl -> RSSetViewports(This,NumViewports,pViewports) )
- #define ID3D12GraphicsCommandList8_RSSetScissorRects(This,NumRects,pRects) \
- ( (This)->lpVtbl -> RSSetScissorRects(This,NumRects,pRects) )
- #define ID3D12GraphicsCommandList8_OMSetBlendFactor(This,BlendFactor) \
- ( (This)->lpVtbl -> OMSetBlendFactor(This,BlendFactor) )
- #define ID3D12GraphicsCommandList8_OMSetStencilRef(This,StencilRef) \
- ( (This)->lpVtbl -> OMSetStencilRef(This,StencilRef) )
- #define ID3D12GraphicsCommandList8_SetPipelineState(This,pPipelineState) \
- ( (This)->lpVtbl -> SetPipelineState(This,pPipelineState) )
- #define ID3D12GraphicsCommandList8_ResourceBarrier(This,NumBarriers,pBarriers) \
- ( (This)->lpVtbl -> ResourceBarrier(This,NumBarriers,pBarriers) )
- #define ID3D12GraphicsCommandList8_ExecuteBundle(This,pCommandList) \
- ( (This)->lpVtbl -> ExecuteBundle(This,pCommandList) )
- #define ID3D12GraphicsCommandList8_SetDescriptorHeaps(This,NumDescriptorHeaps,ppDescriptorHeaps) \
- ( (This)->lpVtbl -> SetDescriptorHeaps(This,NumDescriptorHeaps,ppDescriptorHeaps) )
- #define ID3D12GraphicsCommandList8_SetComputeRootSignature(This,pRootSignature) \
- ( (This)->lpVtbl -> SetComputeRootSignature(This,pRootSignature) )
- #define ID3D12GraphicsCommandList8_SetGraphicsRootSignature(This,pRootSignature) \
- ( (This)->lpVtbl -> SetGraphicsRootSignature(This,pRootSignature) )
- #define ID3D12GraphicsCommandList8_SetComputeRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) \
- ( (This)->lpVtbl -> SetComputeRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) )
- #define ID3D12GraphicsCommandList8_SetGraphicsRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) \
- ( (This)->lpVtbl -> SetGraphicsRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) )
- #define ID3D12GraphicsCommandList8_SetComputeRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) \
- ( (This)->lpVtbl -> SetComputeRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) )
- #define ID3D12GraphicsCommandList8_SetGraphicsRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) \
- ( (This)->lpVtbl -> SetGraphicsRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) )
- #define ID3D12GraphicsCommandList8_SetComputeRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) \
- ( (This)->lpVtbl -> SetComputeRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) )
- #define ID3D12GraphicsCommandList8_SetGraphicsRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) \
- ( (This)->lpVtbl -> SetGraphicsRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) )
- #define ID3D12GraphicsCommandList8_SetComputeRootConstantBufferView(This,RootParameterIndex,BufferLocation) \
- ( (This)->lpVtbl -> SetComputeRootConstantBufferView(This,RootParameterIndex,BufferLocation) )
- #define ID3D12GraphicsCommandList8_SetGraphicsRootConstantBufferView(This,RootParameterIndex,BufferLocation) \
- ( (This)->lpVtbl -> SetGraphicsRootConstantBufferView(This,RootParameterIndex,BufferLocation) )
- #define ID3D12GraphicsCommandList8_SetComputeRootShaderResourceView(This,RootParameterIndex,BufferLocation) \
- ( (This)->lpVtbl -> SetComputeRootShaderResourceView(This,RootParameterIndex,BufferLocation) )
- #define ID3D12GraphicsCommandList8_SetGraphicsRootShaderResourceView(This,RootParameterIndex,BufferLocation) \
- ( (This)->lpVtbl -> SetGraphicsRootShaderResourceView(This,RootParameterIndex,BufferLocation) )
- #define ID3D12GraphicsCommandList8_SetComputeRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) \
- ( (This)->lpVtbl -> SetComputeRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) )
- #define ID3D12GraphicsCommandList8_SetGraphicsRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) \
- ( (This)->lpVtbl -> SetGraphicsRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) )
- #define ID3D12GraphicsCommandList8_IASetIndexBuffer(This,pView) \
- ( (This)->lpVtbl -> IASetIndexBuffer(This,pView) )
- #define ID3D12GraphicsCommandList8_IASetVertexBuffers(This,StartSlot,NumViews,pViews) \
- ( (This)->lpVtbl -> IASetVertexBuffers(This,StartSlot,NumViews,pViews) )
- #define ID3D12GraphicsCommandList8_SOSetTargets(This,StartSlot,NumViews,pViews) \
- ( (This)->lpVtbl -> SOSetTargets(This,StartSlot,NumViews,pViews) )
- #define ID3D12GraphicsCommandList8_OMSetRenderTargets(This,NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) \
- ( (This)->lpVtbl -> OMSetRenderTargets(This,NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) )
- #define ID3D12GraphicsCommandList8_ClearDepthStencilView(This,DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) \
- ( (This)->lpVtbl -> ClearDepthStencilView(This,DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) )
- #define ID3D12GraphicsCommandList8_ClearRenderTargetView(This,RenderTargetView,ColorRGBA,NumRects,pRects) \
- ( (This)->lpVtbl -> ClearRenderTargetView(This,RenderTargetView,ColorRGBA,NumRects,pRects) )
- #define ID3D12GraphicsCommandList8_ClearUnorderedAccessViewUint(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) \
- ( (This)->lpVtbl -> ClearUnorderedAccessViewUint(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) )
- #define ID3D12GraphicsCommandList8_ClearUnorderedAccessViewFloat(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) \
- ( (This)->lpVtbl -> ClearUnorderedAccessViewFloat(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) )
- #define ID3D12GraphicsCommandList8_DiscardResource(This,pResource,pRegion) \
- ( (This)->lpVtbl -> DiscardResource(This,pResource,pRegion) )
- #define ID3D12GraphicsCommandList8_BeginQuery(This,pQueryHeap,Type,Index) \
- ( (This)->lpVtbl -> BeginQuery(This,pQueryHeap,Type,Index) )
- #define ID3D12GraphicsCommandList8_EndQuery(This,pQueryHeap,Type,Index) \
- ( (This)->lpVtbl -> EndQuery(This,pQueryHeap,Type,Index) )
- #define ID3D12GraphicsCommandList8_ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) \
- ( (This)->lpVtbl -> ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) )
- #define ID3D12GraphicsCommandList8_SetPredication(This,pBuffer,AlignedBufferOffset,Operation) \
- ( (This)->lpVtbl -> SetPredication(This,pBuffer,AlignedBufferOffset,Operation) )
- #define ID3D12GraphicsCommandList8_SetMarker(This,Metadata,pData,Size) \
- ( (This)->lpVtbl -> SetMarker(This,Metadata,pData,Size) )
- #define ID3D12GraphicsCommandList8_BeginEvent(This,Metadata,pData,Size) \
- ( (This)->lpVtbl -> BeginEvent(This,Metadata,pData,Size) )
- #define ID3D12GraphicsCommandList8_EndEvent(This) \
- ( (This)->lpVtbl -> EndEvent(This) )
- #define ID3D12GraphicsCommandList8_ExecuteIndirect(This,pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) \
- ( (This)->lpVtbl -> ExecuteIndirect(This,pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) )
- #define ID3D12GraphicsCommandList8_AtomicCopyBufferUINT(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) \
- ( (This)->lpVtbl -> AtomicCopyBufferUINT(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) )
- #define ID3D12GraphicsCommandList8_AtomicCopyBufferUINT64(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) \
- ( (This)->lpVtbl -> AtomicCopyBufferUINT64(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) )
- #define ID3D12GraphicsCommandList8_OMSetDepthBounds(This,Min,Max) \
- ( (This)->lpVtbl -> OMSetDepthBounds(This,Min,Max) )
- #define ID3D12GraphicsCommandList8_SetSamplePositions(This,NumSamplesPerPixel,NumPixels,pSamplePositions) \
- ( (This)->lpVtbl -> SetSamplePositions(This,NumSamplesPerPixel,NumPixels,pSamplePositions) )
- #define ID3D12GraphicsCommandList8_ResolveSubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode) \
- ( (This)->lpVtbl -> ResolveSubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode) )
- #define ID3D12GraphicsCommandList8_SetViewInstanceMask(This,Mask) \
- ( (This)->lpVtbl -> SetViewInstanceMask(This,Mask) )
- #define ID3D12GraphicsCommandList8_WriteBufferImmediate(This,Count,pParams,pModes) \
- ( (This)->lpVtbl -> WriteBufferImmediate(This,Count,pParams,pModes) )
- #define ID3D12GraphicsCommandList8_SetProtectedResourceSession(This,pProtectedResourceSession) \
- ( (This)->lpVtbl -> SetProtectedResourceSession(This,pProtectedResourceSession) )
- #define ID3D12GraphicsCommandList8_BeginRenderPass(This,NumRenderTargets,pRenderTargets,pDepthStencil,Flags) \
- ( (This)->lpVtbl -> BeginRenderPass(This,NumRenderTargets,pRenderTargets,pDepthStencil,Flags) )
- #define ID3D12GraphicsCommandList8_EndRenderPass(This) \
- ( (This)->lpVtbl -> EndRenderPass(This) )
- #define ID3D12GraphicsCommandList8_InitializeMetaCommand(This,pMetaCommand,pInitializationParametersData,InitializationParametersDataSizeInBytes) \
- ( (This)->lpVtbl -> InitializeMetaCommand(This,pMetaCommand,pInitializationParametersData,InitializationParametersDataSizeInBytes) )
- #define ID3D12GraphicsCommandList8_ExecuteMetaCommand(This,pMetaCommand,pExecutionParametersData,ExecutionParametersDataSizeInBytes) \
- ( (This)->lpVtbl -> ExecuteMetaCommand(This,pMetaCommand,pExecutionParametersData,ExecutionParametersDataSizeInBytes) )
- #define ID3D12GraphicsCommandList8_BuildRaytracingAccelerationStructure(This,pDesc,NumPostbuildInfoDescs,pPostbuildInfoDescs) \
- ( (This)->lpVtbl -> BuildRaytracingAccelerationStructure(This,pDesc,NumPostbuildInfoDescs,pPostbuildInfoDescs) )
- #define ID3D12GraphicsCommandList8_EmitRaytracingAccelerationStructurePostbuildInfo(This,pDesc,NumSourceAccelerationStructures,pSourceAccelerationStructureData) \
- ( (This)->lpVtbl -> EmitRaytracingAccelerationStructurePostbuildInfo(This,pDesc,NumSourceAccelerationStructures,pSourceAccelerationStructureData) )
- #define ID3D12GraphicsCommandList8_CopyRaytracingAccelerationStructure(This,DestAccelerationStructureData,SourceAccelerationStructureData,Mode) \
- ( (This)->lpVtbl -> CopyRaytracingAccelerationStructure(This,DestAccelerationStructureData,SourceAccelerationStructureData,Mode) )
- #define ID3D12GraphicsCommandList8_SetPipelineState1(This,pStateObject) \
- ( (This)->lpVtbl -> SetPipelineState1(This,pStateObject) )
- #define ID3D12GraphicsCommandList8_DispatchRays(This,pDesc) \
- ( (This)->lpVtbl -> DispatchRays(This,pDesc) )
- #define ID3D12GraphicsCommandList8_RSSetShadingRate(This,baseShadingRate,combiners) \
- ( (This)->lpVtbl -> RSSetShadingRate(This,baseShadingRate,combiners) )
- #define ID3D12GraphicsCommandList8_RSSetShadingRateImage(This,shadingRateImage) \
- ( (This)->lpVtbl -> RSSetShadingRateImage(This,shadingRateImage) )
- #define ID3D12GraphicsCommandList8_DispatchMesh(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) \
- ( (This)->lpVtbl -> DispatchMesh(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) )
- #define ID3D12GraphicsCommandList8_Barrier(This,NumBarrierGroups,pBarrierGroups) \
- ( (This)->lpVtbl -> Barrier(This,NumBarrierGroups,pBarrierGroups) )
- #define ID3D12GraphicsCommandList8_OMSetFrontAndBackStencilRef(This,FrontStencilRef,BackStencilRef) \
- ( (This)->lpVtbl -> OMSetFrontAndBackStencilRef(This,FrontStencilRef,BackStencilRef) )
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __ID3D12GraphicsCommandList8_INTERFACE_DEFINED__ */
- #ifndef __ID3D12GraphicsCommandList9_INTERFACE_DEFINED__
- #define __ID3D12GraphicsCommandList9_INTERFACE_DEFINED__
- /* interface ID3D12GraphicsCommandList9 */
- /* [unique][local][object][uuid] */
- EXTERN_C const IID IID_ID3D12GraphicsCommandList9;
- #if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("34ed2808-ffe6-4c2b-b11a-cabd2b0c59e1")
- ID3D12GraphicsCommandList9 : public ID3D12GraphicsCommandList8
- {
- public:
- virtual void STDMETHODCALLTYPE RSSetDepthBias(
- _In_ FLOAT DepthBias,
- _In_ FLOAT DepthBiasClamp,
- _In_ FLOAT SlopeScaledDepthBias) = 0;
-
- virtual void STDMETHODCALLTYPE IASetIndexBufferStripCutValue(
- _In_ D3D12_INDEX_BUFFER_STRIP_CUT_VALUE IBStripCutValue) = 0;
-
- };
-
-
- #else /* C style interface */
- typedef struct ID3D12GraphicsCommandList9Vtbl
- {
- BEGIN_INTERFACE
-
- DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12GraphicsCommandList9 * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- DECLSPEC_XFGVIRT(IUnknown, AddRef)
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12GraphicsCommandList9 * This);
-
- DECLSPEC_XFGVIRT(IUnknown, Release)
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12GraphicsCommandList9 * This);
-
- DECLSPEC_XFGVIRT(ID3D12Object, GetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12GraphicsCommandList9 * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateData)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12GraphicsCommandList9 * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetPrivateDataInterface)
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12GraphicsCommandList9 * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- DECLSPEC_XFGVIRT(ID3D12Object, SetName)
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12GraphicsCommandList9 * This,
- _In_z_ LPCWSTR Name);
-
- DECLSPEC_XFGVIRT(ID3D12DeviceChild, GetDevice)
- HRESULT ( STDMETHODCALLTYPE *GetDevice )(
- ID3D12GraphicsCommandList9 * This,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvDevice);
-
- DECLSPEC_XFGVIRT(ID3D12CommandList, GetType)
- D3D12_COMMAND_LIST_TYPE ( STDMETHODCALLTYPE *GetType )(
- ID3D12GraphicsCommandList9 * This);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, Close)
- HRESULT ( STDMETHODCALLTYPE *Close )(
- ID3D12GraphicsCommandList9 * This);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, Reset)
- HRESULT ( STDMETHODCALLTYPE *Reset )(
- ID3D12GraphicsCommandList9 * This,
- _In_ ID3D12CommandAllocator *pAllocator,
- _In_opt_ ID3D12PipelineState *pInitialState);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearState)
- void ( STDMETHODCALLTYPE *ClearState )(
- ID3D12GraphicsCommandList9 * This,
- _In_opt_ ID3D12PipelineState *pPipelineState);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, DrawInstanced)
- void ( STDMETHODCALLTYPE *DrawInstanced )(
- ID3D12GraphicsCommandList9 * This,
- _In_ UINT VertexCountPerInstance,
- _In_ UINT InstanceCount,
- _In_ UINT StartVertexLocation,
- _In_ UINT StartInstanceLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, DrawIndexedInstanced)
- void ( STDMETHODCALLTYPE *DrawIndexedInstanced )(
- ID3D12GraphicsCommandList9 * This,
- _In_ UINT IndexCountPerInstance,
- _In_ UINT InstanceCount,
- _In_ UINT StartIndexLocation,
- _In_ INT BaseVertexLocation,
- _In_ UINT StartInstanceLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, Dispatch)
- void ( STDMETHODCALLTYPE *Dispatch )(
- ID3D12GraphicsCommandList9 * This,
- _In_ UINT ThreadGroupCountX,
- _In_ UINT ThreadGroupCountY,
- _In_ UINT ThreadGroupCountZ);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyBufferRegion)
- void ( STDMETHODCALLTYPE *CopyBufferRegion )(
- ID3D12GraphicsCommandList9 * This,
- _In_ ID3D12Resource *pDstBuffer,
- UINT64 DstOffset,
- _In_ ID3D12Resource *pSrcBuffer,
- UINT64 SrcOffset,
- UINT64 NumBytes);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyTextureRegion)
- void ( STDMETHODCALLTYPE *CopyTextureRegion )(
- ID3D12GraphicsCommandList9 * This,
- _In_ const D3D12_TEXTURE_COPY_LOCATION *pDst,
- UINT DstX,
- UINT DstY,
- UINT DstZ,
- _In_ const D3D12_TEXTURE_COPY_LOCATION *pSrc,
- _In_opt_ const D3D12_BOX *pSrcBox);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyResource)
- void ( STDMETHODCALLTYPE *CopyResource )(
- ID3D12GraphicsCommandList9 * This,
- _In_ ID3D12Resource *pDstResource,
- _In_ ID3D12Resource *pSrcResource);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, CopyTiles)
- void ( STDMETHODCALLTYPE *CopyTiles )(
- ID3D12GraphicsCommandList9 * This,
- _In_ ID3D12Resource *pTiledResource,
- _In_ const D3D12_TILED_RESOURCE_COORDINATE *pTileRegionStartCoordinate,
- _In_ const D3D12_TILE_REGION_SIZE *pTileRegionSize,
- _In_ ID3D12Resource *pBuffer,
- UINT64 BufferStartOffsetInBytes,
- D3D12_TILE_COPY_FLAGS Flags);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ResolveSubresource)
- void ( STDMETHODCALLTYPE *ResolveSubresource )(
- ID3D12GraphicsCommandList9 * This,
- _In_ ID3D12Resource *pDstResource,
- _In_ UINT DstSubresource,
- _In_ ID3D12Resource *pSrcResource,
- _In_ UINT SrcSubresource,
- _In_ DXGI_FORMAT Format);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, IASetPrimitiveTopology)
- void ( STDMETHODCALLTYPE *IASetPrimitiveTopology )(
- ID3D12GraphicsCommandList9 * This,
- _In_ D3D12_PRIMITIVE_TOPOLOGY PrimitiveTopology);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, RSSetViewports)
- void ( STDMETHODCALLTYPE *RSSetViewports )(
- ID3D12GraphicsCommandList9 * This,
- _In_range_(0, D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE) UINT NumViewports,
- _In_reads_( NumViewports) const D3D12_VIEWPORT *pViewports);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, RSSetScissorRects)
- void ( STDMETHODCALLTYPE *RSSetScissorRects )(
- ID3D12GraphicsCommandList9 * This,
- _In_range_(0, D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE) UINT NumRects,
- _In_reads_( NumRects) const D3D12_RECT *pRects);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, OMSetBlendFactor)
- void ( STDMETHODCALLTYPE *OMSetBlendFactor )(
- ID3D12GraphicsCommandList9 * This,
- _In_reads_opt_(4) const FLOAT BlendFactor[ 4 ]);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, OMSetStencilRef)
- void ( STDMETHODCALLTYPE *OMSetStencilRef )(
- ID3D12GraphicsCommandList9 * This,
- _In_ UINT StencilRef);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetPipelineState)
- void ( STDMETHODCALLTYPE *SetPipelineState )(
- ID3D12GraphicsCommandList9 * This,
- _In_ ID3D12PipelineState *pPipelineState);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ResourceBarrier)
- void ( STDMETHODCALLTYPE *ResourceBarrier )(
- ID3D12GraphicsCommandList9 * This,
- _In_ UINT NumBarriers,
- _In_reads_(NumBarriers) const D3D12_RESOURCE_BARRIER *pBarriers);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ExecuteBundle)
- void ( STDMETHODCALLTYPE *ExecuteBundle )(
- ID3D12GraphicsCommandList9 * This,
- _In_ ID3D12GraphicsCommandList *pCommandList);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetDescriptorHeaps)
- void ( STDMETHODCALLTYPE *SetDescriptorHeaps )(
- ID3D12GraphicsCommandList9 * This,
- _In_ UINT NumDescriptorHeaps,
- _In_reads_(NumDescriptorHeaps) ID3D12DescriptorHeap *const *ppDescriptorHeaps);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootSignature)
- void ( STDMETHODCALLTYPE *SetComputeRootSignature )(
- ID3D12GraphicsCommandList9 * This,
- _In_opt_ ID3D12RootSignature *pRootSignature);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootSignature)
- void ( STDMETHODCALLTYPE *SetGraphicsRootSignature )(
- ID3D12GraphicsCommandList9 * This,
- _In_opt_ ID3D12RootSignature *pRootSignature);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootDescriptorTable)
- void ( STDMETHODCALLTYPE *SetComputeRootDescriptorTable )(
- ID3D12GraphicsCommandList9 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootDescriptorTable)
- void ( STDMETHODCALLTYPE *SetGraphicsRootDescriptorTable )(
- ID3D12GraphicsCommandList9 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRoot32BitConstant)
- void ( STDMETHODCALLTYPE *SetComputeRoot32BitConstant )(
- ID3D12GraphicsCommandList9 * This,
- _In_ UINT RootParameterIndex,
- _In_ UINT SrcData,
- _In_ UINT DestOffsetIn32BitValues);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRoot32BitConstant)
- void ( STDMETHODCALLTYPE *SetGraphicsRoot32BitConstant )(
- ID3D12GraphicsCommandList9 * This,
- _In_ UINT RootParameterIndex,
- _In_ UINT SrcData,
- _In_ UINT DestOffsetIn32BitValues);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRoot32BitConstants)
- void ( STDMETHODCALLTYPE *SetComputeRoot32BitConstants )(
- ID3D12GraphicsCommandList9 * This,
- _In_ UINT RootParameterIndex,
- _In_ UINT Num32BitValuesToSet,
- _In_reads_(Num32BitValuesToSet*sizeof(UINT)) const void *pSrcData,
- _In_ UINT DestOffsetIn32BitValues);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRoot32BitConstants)
- void ( STDMETHODCALLTYPE *SetGraphicsRoot32BitConstants )(
- ID3D12GraphicsCommandList9 * This,
- _In_ UINT RootParameterIndex,
- _In_ UINT Num32BitValuesToSet,
- _In_reads_(Num32BitValuesToSet*sizeof(UINT)) const void *pSrcData,
- _In_ UINT DestOffsetIn32BitValues);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootConstantBufferView)
- void ( STDMETHODCALLTYPE *SetComputeRootConstantBufferView )(
- ID3D12GraphicsCommandList9 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootConstantBufferView)
- void ( STDMETHODCALLTYPE *SetGraphicsRootConstantBufferView )(
- ID3D12GraphicsCommandList9 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootShaderResourceView)
- void ( STDMETHODCALLTYPE *SetComputeRootShaderResourceView )(
- ID3D12GraphicsCommandList9 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootShaderResourceView)
- void ( STDMETHODCALLTYPE *SetGraphicsRootShaderResourceView )(
- ID3D12GraphicsCommandList9 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetComputeRootUnorderedAccessView)
- void ( STDMETHODCALLTYPE *SetComputeRootUnorderedAccessView )(
- ID3D12GraphicsCommandList9 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetGraphicsRootUnorderedAccessView)
- void ( STDMETHODCALLTYPE *SetGraphicsRootUnorderedAccessView )(
- ID3D12GraphicsCommandList9 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, IASetIndexBuffer)
- void ( STDMETHODCALLTYPE *IASetIndexBuffer )(
- ID3D12GraphicsCommandList9 * This,
- _In_opt_ const D3D12_INDEX_BUFFER_VIEW *pView);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, IASetVertexBuffers)
- void ( STDMETHODCALLTYPE *IASetVertexBuffers )(
- ID3D12GraphicsCommandList9 * This,
- _In_ UINT StartSlot,
- _In_ UINT NumViews,
- _In_reads_opt_(NumViews) const D3D12_VERTEX_BUFFER_VIEW *pViews);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SOSetTargets)
- void ( STDMETHODCALLTYPE *SOSetTargets )(
- ID3D12GraphicsCommandList9 * This,
- _In_ UINT StartSlot,
- _In_ UINT NumViews,
- _In_reads_opt_(NumViews) const D3D12_STREAM_OUTPUT_BUFFER_VIEW *pViews);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, OMSetRenderTargets)
- void ( STDMETHODCALLTYPE *OMSetRenderTargets )(
- ID3D12GraphicsCommandList9 * This,
- _In_ UINT NumRenderTargetDescriptors,
- _In_opt_ const D3D12_CPU_DESCRIPTOR_HANDLE *pRenderTargetDescriptors,
- _In_ BOOL RTsSingleHandleToDescriptorRange,
- _In_opt_ const D3D12_CPU_DESCRIPTOR_HANDLE *pDepthStencilDescriptor);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearDepthStencilView)
- void ( STDMETHODCALLTYPE *ClearDepthStencilView )(
- ID3D12GraphicsCommandList9 * This,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DepthStencilView,
- _In_ D3D12_CLEAR_FLAGS ClearFlags,
- _In_ FLOAT Depth,
- _In_ UINT8 Stencil,
- _In_ UINT NumRects,
- _In_reads_(NumRects) const D3D12_RECT *pRects);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearRenderTargetView)
- void ( STDMETHODCALLTYPE *ClearRenderTargetView )(
- ID3D12GraphicsCommandList9 * This,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE RenderTargetView,
- _In_ const FLOAT ColorRGBA[ 4 ],
- _In_ UINT NumRects,
- _In_reads_(NumRects) const D3D12_RECT *pRects);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearUnorderedAccessViewUint)
- void ( STDMETHODCALLTYPE *ClearUnorderedAccessViewUint )(
- ID3D12GraphicsCommandList9 * This,
- _In_ D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle,
- _In_ ID3D12Resource *pResource,
- _In_ const UINT Values[ 4 ],
- _In_ UINT NumRects,
- _In_reads_(NumRects) const D3D12_RECT *pRects);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ClearUnorderedAccessViewFloat)
- void ( STDMETHODCALLTYPE *ClearUnorderedAccessViewFloat )(
- ID3D12GraphicsCommandList9 * This,
- _In_ D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle,
- _In_ ID3D12Resource *pResource,
- _In_ const FLOAT Values[ 4 ],
- _In_ UINT NumRects,
- _In_reads_(NumRects) const D3D12_RECT *pRects);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, DiscardResource)
- void ( STDMETHODCALLTYPE *DiscardResource )(
- ID3D12GraphicsCommandList9 * This,
- _In_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_DISCARD_REGION *pRegion);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, BeginQuery)
- void ( STDMETHODCALLTYPE *BeginQuery )(
- ID3D12GraphicsCommandList9 * This,
- _In_ ID3D12QueryHeap *pQueryHeap,
- _In_ D3D12_QUERY_TYPE Type,
- _In_ UINT Index);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, EndQuery)
- void ( STDMETHODCALLTYPE *EndQuery )(
- ID3D12GraphicsCommandList9 * This,
- _In_ ID3D12QueryHeap *pQueryHeap,
- _In_ D3D12_QUERY_TYPE Type,
- _In_ UINT Index);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ResolveQueryData)
- void ( STDMETHODCALLTYPE *ResolveQueryData )(
- ID3D12GraphicsCommandList9 * This,
- _In_ ID3D12QueryHeap *pQueryHeap,
- _In_ D3D12_QUERY_TYPE Type,
- _In_ UINT StartIndex,
- _In_ UINT NumQueries,
- _In_ ID3D12Resource *pDestinationBuffer,
- _In_ UINT64 AlignedDestinationBufferOffset);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetPredication)
- void ( STDMETHODCALLTYPE *SetPredication )(
- ID3D12GraphicsCommandList9 * This,
- _In_opt_ ID3D12Resource *pBuffer,
- _In_ UINT64 AlignedBufferOffset,
- _In_ D3D12_PREDICATION_OP Operation);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, SetMarker)
- void ( STDMETHODCALLTYPE *SetMarker )(
- ID3D12GraphicsCommandList9 * This,
- UINT Metadata,
- _In_reads_bytes_opt_(Size) const void *pData,
- UINT Size);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, BeginEvent)
- void ( STDMETHODCALLTYPE *BeginEvent )(
- ID3D12GraphicsCommandList9 * This,
- UINT Metadata,
- _In_reads_bytes_opt_(Size) const void *pData,
- UINT Size);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, EndEvent)
- void ( STDMETHODCALLTYPE *EndEvent )(
- ID3D12GraphicsCommandList9 * This);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList, ExecuteIndirect)
- void ( STDMETHODCALLTYPE *ExecuteIndirect )(
- ID3D12GraphicsCommandList9 * This,
- _In_ ID3D12CommandSignature *pCommandSignature,
- _In_ UINT MaxCommandCount,
- _In_ ID3D12Resource *pArgumentBuffer,
- _In_ UINT64 ArgumentBufferOffset,
- _In_opt_ ID3D12Resource *pCountBuffer,
- _In_ UINT64 CountBufferOffset);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, AtomicCopyBufferUINT)
- void ( STDMETHODCALLTYPE *AtomicCopyBufferUINT )(
- ID3D12GraphicsCommandList9 * This,
- _In_ ID3D12Resource *pDstBuffer,
- UINT64 DstOffset,
- _In_ ID3D12Resource *pSrcBuffer,
- UINT64 SrcOffset,
- UINT Dependencies,
- _In_reads_(Dependencies) ID3D12Resource *const *ppDependentResources,
- _In_reads_(Dependencies) const D3D12_SUBRESOURCE_RANGE_UINT64 *pDependentSubresourceRanges);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, AtomicCopyBufferUINT64)
- void ( STDMETHODCALLTYPE *AtomicCopyBufferUINT64 )(
- ID3D12GraphicsCommandList9 * This,
- _In_ ID3D12Resource *pDstBuffer,
- UINT64 DstOffset,
- _In_ ID3D12Resource *pSrcBuffer,
- UINT64 SrcOffset,
- UINT Dependencies,
- _In_reads_(Dependencies) ID3D12Resource *const *ppDependentResources,
- _In_reads_(Dependencies) const D3D12_SUBRESOURCE_RANGE_UINT64 *pDependentSubresourceRanges);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, OMSetDepthBounds)
- void ( STDMETHODCALLTYPE *OMSetDepthBounds )(
- ID3D12GraphicsCommandList9 * This,
- _In_ FLOAT Min,
- _In_ FLOAT Max);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, SetSamplePositions)
- void ( STDMETHODCALLTYPE *SetSamplePositions )(
- ID3D12GraphicsCommandList9 * This,
- _In_ UINT NumSamplesPerPixel,
- _In_ UINT NumPixels,
- _In_reads_(NumSamplesPerPixel*NumPixels) D3D12_SAMPLE_POSITION *pSamplePositions);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, ResolveSubresourceRegion)
- void ( STDMETHODCALLTYPE *ResolveSubresourceRegion )(
- ID3D12GraphicsCommandList9 * This,
- _In_ ID3D12Resource *pDstResource,
- _In_ UINT DstSubresource,
- _In_ UINT DstX,
- _In_ UINT DstY,
- _In_ ID3D12Resource *pSrcResource,
- _In_ UINT SrcSubresource,
- _In_opt_ D3D12_RECT *pSrcRect,
- _In_ DXGI_FORMAT Format,
- _In_ D3D12_RESOLVE_MODE ResolveMode);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList1, SetViewInstanceMask)
- void ( STDMETHODCALLTYPE *SetViewInstanceMask )(
- ID3D12GraphicsCommandList9 * This,
- _In_ UINT Mask);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList2, WriteBufferImmediate)
- void ( STDMETHODCALLTYPE *WriteBufferImmediate )(
- ID3D12GraphicsCommandList9 * This,
- UINT Count,
- _In_reads_(Count) const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *pParams,
- _In_reads_opt_(Count) const D3D12_WRITEBUFFERIMMEDIATE_MODE *pModes);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList3, SetProtectedResourceSession)
- void ( STDMETHODCALLTYPE *SetProtectedResourceSession )(
- ID3D12GraphicsCommandList9 * This,
- _In_opt_ ID3D12ProtectedResourceSession *pProtectedResourceSession);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, BeginRenderPass)
- void ( STDMETHODCALLTYPE *BeginRenderPass )(
- ID3D12GraphicsCommandList9 * This,
- _In_ UINT NumRenderTargets,
- _In_reads_opt_(NumRenderTargets) const D3D12_RENDER_PASS_RENDER_TARGET_DESC *pRenderTargets,
- _In_opt_ const D3D12_RENDER_PASS_DEPTH_STENCIL_DESC *pDepthStencil,
- D3D12_RENDER_PASS_FLAGS Flags);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, EndRenderPass)
- void ( STDMETHODCALLTYPE *EndRenderPass )(
- ID3D12GraphicsCommandList9 * This);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, InitializeMetaCommand)
- void ( STDMETHODCALLTYPE *InitializeMetaCommand )(
- ID3D12GraphicsCommandList9 * This,
- _In_ ID3D12MetaCommand *pMetaCommand,
- _In_reads_bytes_opt_(InitializationParametersDataSizeInBytes) const void *pInitializationParametersData,
- _In_ SIZE_T InitializationParametersDataSizeInBytes);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, ExecuteMetaCommand)
- void ( STDMETHODCALLTYPE *ExecuteMetaCommand )(
- ID3D12GraphicsCommandList9 * This,
- _In_ ID3D12MetaCommand *pMetaCommand,
- _In_reads_bytes_opt_(ExecutionParametersDataSizeInBytes) const void *pExecutionParametersData,
- _In_ SIZE_T ExecutionParametersDataSizeInBytes);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, BuildRaytracingAccelerationStructure)
- void ( STDMETHODCALLTYPE *BuildRaytracingAccelerationStructure )(
- ID3D12GraphicsCommandList9 * This,
- _In_ const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC *pDesc,
- _In_ UINT NumPostbuildInfoDescs,
- _In_reads_opt_(NumPostbuildInfoDescs) const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC *pPostbuildInfoDescs);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, EmitRaytracingAccelerationStructurePostbuildInfo)
- void ( STDMETHODCALLTYPE *EmitRaytracingAccelerationStructurePostbuildInfo )(
- ID3D12GraphicsCommandList9 * This,
- _In_ const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC *pDesc,
- _In_ UINT NumSourceAccelerationStructures,
- _In_reads_( NumSourceAccelerationStructures ) const D3D12_GPU_VIRTUAL_ADDRESS *pSourceAccelerationStructureData);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, CopyRaytracingAccelerationStructure)
- void ( STDMETHODCALLTYPE *CopyRaytracingAccelerationStructure )(
- ID3D12GraphicsCommandList9 * This,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS DestAccelerationStructureData,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS SourceAccelerationStructureData,
- _In_ D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE Mode);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, SetPipelineState1)
- void ( STDMETHODCALLTYPE *SetPipelineState1 )(
- ID3D12GraphicsCommandList9 * This,
- _In_ ID3D12StateObject *pStateObject);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList4, DispatchRays)
- void ( STDMETHODCALLTYPE *DispatchRays )(
- ID3D12GraphicsCommandList9 * This,
- _In_ const D3D12_DISPATCH_RAYS_DESC *pDesc);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList5, RSSetShadingRate)
- void ( STDMETHODCALLTYPE *RSSetShadingRate )(
- ID3D12GraphicsCommandList9 * This,
- _In_ D3D12_SHADING_RATE baseShadingRate,
- _In_reads_opt_(D3D12_RS_SET_SHADING_RATE_COMBINER_COUNT) const D3D12_SHADING_RATE_COMBINER *combiners);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList5, RSSetShadingRateImage)
- void ( STDMETHODCALLTYPE *RSSetShadingRateImage )(
- ID3D12GraphicsCommandList9 * This,
- _In_opt_ ID3D12Resource *shadingRateImage);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList6, DispatchMesh)
- void ( STDMETHODCALLTYPE *DispatchMesh )(
- ID3D12GraphicsCommandList9 * This,
- _In_ UINT ThreadGroupCountX,
- _In_ UINT ThreadGroupCountY,
- _In_ UINT ThreadGroupCountZ);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList7, Barrier)
- void ( STDMETHODCALLTYPE *Barrier )(
- ID3D12GraphicsCommandList9 * This,
- UINT32 NumBarrierGroups,
- _In_reads_(NumBarrierGroups) const D3D12_BARRIER_GROUP *pBarrierGroups);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList8, OMSetFrontAndBackStencilRef)
- void ( STDMETHODCALLTYPE *OMSetFrontAndBackStencilRef )(
- ID3D12GraphicsCommandList9 * This,
- _In_ UINT FrontStencilRef,
- _In_ UINT BackStencilRef);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList9, RSSetDepthBias)
- void ( STDMETHODCALLTYPE *RSSetDepthBias )(
- ID3D12GraphicsCommandList9 * This,
- _In_ FLOAT DepthBias,
- _In_ FLOAT DepthBiasClamp,
- _In_ FLOAT SlopeScaledDepthBias);
-
- DECLSPEC_XFGVIRT(ID3D12GraphicsCommandList9, IASetIndexBufferStripCutValue)
- void ( STDMETHODCALLTYPE *IASetIndexBufferStripCutValue )(
- ID3D12GraphicsCommandList9 * This,
- _In_ D3D12_INDEX_BUFFER_STRIP_CUT_VALUE IBStripCutValue);
-
- END_INTERFACE
- } ID3D12GraphicsCommandList9Vtbl;
- interface ID3D12GraphicsCommandList9
- {
- CONST_VTBL struct ID3D12GraphicsCommandList9Vtbl *lpVtbl;
- };
-
- #ifdef COBJMACROS
- #define ID3D12GraphicsCommandList9_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define ID3D12GraphicsCommandList9_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define ID3D12GraphicsCommandList9_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #define ID3D12GraphicsCommandList9_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
- #define ID3D12GraphicsCommandList9_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
- #define ID3D12GraphicsCommandList9_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
- #define ID3D12GraphicsCommandList9_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
- #define ID3D12GraphicsCommandList9_GetDevice(This,riid,ppvDevice) \
- ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
- #define ID3D12GraphicsCommandList9_GetType(This) \
- ( (This)->lpVtbl -> GetType(This) )
- #define ID3D12GraphicsCommandList9_Close(This) \
- ( (This)->lpVtbl -> Close(This) )
- #define ID3D12GraphicsCommandList9_Reset(This,pAllocator,pInitialState) \
- ( (This)->lpVtbl -> Reset(This,pAllocator,pInitialState) )
- #define ID3D12GraphicsCommandList9_ClearState(This,pPipelineState) \
- ( (This)->lpVtbl -> ClearState(This,pPipelineState) )
- #define ID3D12GraphicsCommandList9_DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) \
- ( (This)->lpVtbl -> DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) )
- #define ID3D12GraphicsCommandList9_DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) \
- ( (This)->lpVtbl -> DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) )
- #define ID3D12GraphicsCommandList9_Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) \
- ( (This)->lpVtbl -> Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) )
- #define ID3D12GraphicsCommandList9_CopyBufferRegion(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) \
- ( (This)->lpVtbl -> CopyBufferRegion(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) )
- #define ID3D12GraphicsCommandList9_CopyTextureRegion(This,pDst,DstX,DstY,DstZ,pSrc,pSrcBox) \
- ( (This)->lpVtbl -> CopyTextureRegion(This,pDst,DstX,DstY,DstZ,pSrc,pSrcBox) )
- #define ID3D12GraphicsCommandList9_CopyResource(This,pDstResource,pSrcResource) \
- ( (This)->lpVtbl -> CopyResource(This,pDstResource,pSrcResource) )
- #define ID3D12GraphicsCommandList9_CopyTiles(This,pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) \
- ( (This)->lpVtbl -> CopyTiles(This,pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) )
- #define ID3D12GraphicsCommandList9_ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) \
- ( (This)->lpVtbl -> ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) )
- #define ID3D12GraphicsCommandList9_IASetPrimitiveTopology(This,PrimitiveTopology) \
- ( (This)->lpVtbl -> IASetPrimitiveTopology(This,PrimitiveTopology) )
- #define ID3D12GraphicsCommandList9_RSSetViewports(This,NumViewports,pViewports) \
- ( (This)->lpVtbl -> RSSetViewports(This,NumViewports,pViewports) )
- #define ID3D12GraphicsCommandList9_RSSetScissorRects(This,NumRects,pRects) \
- ( (This)->lpVtbl -> RSSetScissorRects(This,NumRects,pRects) )
- #define ID3D12GraphicsCommandList9_OMSetBlendFactor(This,BlendFactor) \
- ( (This)->lpVtbl -> OMSetBlendFactor(This,BlendFactor) )
- #define ID3D12GraphicsCommandList9_OMSetStencilRef(This,StencilRef) \
- ( (This)->lpVtbl -> OMSetStencilRef(This,StencilRef) )
- #define ID3D12GraphicsCommandList9_SetPipelineState(This,pPipelineState) \
- ( (This)->lpVtbl -> SetPipelineState(This,pPipelineState) )
- #define ID3D12GraphicsCommandList9_ResourceBarrier(This,NumBarriers,pBarriers) \
- ( (This)->lpVtbl -> ResourceBarrier(This,NumBarriers,pBarriers) )
- #define ID3D12GraphicsCommandList9_ExecuteBundle(This,pCommandList) \
- ( (This)->lpVtbl -> ExecuteBundle(This,pCommandList) )
- #define ID3D12GraphicsCommandList9_SetDescriptorHeaps(This,NumDescriptorHeaps,ppDescriptorHeaps) \
- ( (This)->lpVtbl -> SetDescriptorHeaps(This,NumDescriptorHeaps,ppDescriptorHeaps) )
- #define ID3D12GraphicsCommandList9_SetComputeRootSignature(This,pRootSignature) \
- ( (This)->lpVtbl -> SetComputeRootSignature(This,pRootSignature) )
- #define ID3D12GraphicsCommandList9_SetGraphicsRootSignature(This,pRootSignature) \
- ( (This)->lpVtbl -> SetGraphicsRootSignature(This,pRootSignature) )
- #define ID3D12GraphicsCommandList9_SetComputeRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) \
- ( (This)->lpVtbl -> SetComputeRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) )
- #define ID3D12GraphicsCommandList9_SetGraphicsRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) \
- ( (This)->lpVtbl -> SetGraphicsRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) )
- #define ID3D12GraphicsCommandList9_SetComputeRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) \
- ( (This)->lpVtbl -> SetComputeRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) )
- #define ID3D12GraphicsCommandList9_SetGraphicsRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) \
- ( (This)->lpVtbl -> SetGraphicsRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) )
- #define ID3D12GraphicsCommandList9_SetComputeRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) \
- ( (This)->lpVtbl -> SetComputeRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) )
- #define ID3D12GraphicsCommandList9_SetGraphicsRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) \
- ( (This)->lpVtbl -> SetGraphicsRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) )
- #define ID3D12GraphicsCommandList9_SetComputeRootConstantBufferView(This,RootParameterIndex,BufferLocation) \
- ( (This)->lpVtbl -> SetComputeRootConstantBufferView(This,RootParameterIndex,BufferLocation) )
- #define ID3D12GraphicsCommandList9_SetGraphicsRootConstantBufferView(This,RootParameterIndex,BufferLocation) \
- ( (This)->lpVtbl -> SetGraphicsRootConstantBufferView(This,RootParameterIndex,BufferLocation) )
- #define ID3D12GraphicsCommandList9_SetComputeRootShaderResourceView(This,RootParameterIndex,BufferLocation) \
- ( (This)->lpVtbl -> SetComputeRootShaderResourceView(This,RootParameterIndex,BufferLocation) )
- #define ID3D12GraphicsCommandList9_SetGraphicsRootShaderResourceView(This,RootParameterIndex,BufferLocation) \
- ( (This)->lpVtbl -> SetGraphicsRootShaderResourceView(This,RootParameterIndex,BufferLocation) )
- #define ID3D12GraphicsCommandList9_SetComputeRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) \
- ( (This)->lpVtbl -> SetComputeRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) )
- #define ID3D12GraphicsCommandList9_SetGraphicsRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) \
- ( (This)->lpVtbl -> SetGraphicsRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) )
- #define ID3D12GraphicsCommandList9_IASetIndexBuffer(This,pView) \
- ( (This)->lpVtbl -> IASetIndexBuffer(This,pView) )
- #define ID3D12GraphicsCommandList9_IASetVertexBuffers(This,StartSlot,NumViews,pViews) \
- ( (This)->lpVtbl -> IASetVertexBuffers(This,StartSlot,NumViews,pViews) )
- #define ID3D12GraphicsCommandList9_SOSetTargets(This,StartSlot,NumViews,pViews) \
- ( (This)->lpVtbl -> SOSetTargets(This,StartSlot,NumViews,pViews) )
- #define ID3D12GraphicsCommandList9_OMSetRenderTargets(This,NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) \
- ( (This)->lpVtbl -> OMSetRenderTargets(This,NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) )
- #define ID3D12GraphicsCommandList9_ClearDepthStencilView(This,DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) \
- ( (This)->lpVtbl -> ClearDepthStencilView(This,DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) )
- #define ID3D12GraphicsCommandList9_ClearRenderTargetView(This,RenderTargetView,ColorRGBA,NumRects,pRects) \
- ( (This)->lpVtbl -> ClearRenderTargetView(This,RenderTargetView,ColorRGBA,NumRects,pRects) )
- #define ID3D12GraphicsCommandList9_ClearUnorderedAccessViewUint(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) \
- ( (This)->lpVtbl -> ClearUnorderedAccessViewUint(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) )
- #define ID3D12GraphicsCommandList9_ClearUnorderedAccessViewFloat(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) \
- ( (This)->lpVtbl -> ClearUnorderedAccessViewFloat(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) )
- #define ID3D12GraphicsCommandList9_DiscardResource(This,pResource,pRegion) \
- ( (This)->lpVtbl -> DiscardResource(This,pResource,pRegion) )
- #define ID3D12GraphicsCommandList9_BeginQuery(This,pQueryHeap,Type,Index) \
- ( (This)->lpVtbl -> BeginQuery(This,pQueryHeap,Type,Index) )
- #define ID3D12GraphicsCommandList9_EndQuery(This,pQueryHeap,Type,Index) \
- ( (This)->lpVtbl -> EndQuery(This,pQueryHeap,Type,Index) )
- #define ID3D12GraphicsCommandList9_ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) \
- ( (This)->lpVtbl -> ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) )
- #define ID3D12GraphicsCommandList9_SetPredication(This,pBuffer,AlignedBufferOffset,Operation) \
- ( (This)->lpVtbl -> SetPredication(This,pBuffer,AlignedBufferOffset,Operation) )
- #define ID3D12GraphicsCommandList9_SetMarker(This,Metadata,pData,Size) \
- ( (This)->lpVtbl -> SetMarker(This,Metadata,pData,Size) )
- #define ID3D12GraphicsCommandList9_BeginEvent(This,Metadata,pData,Size) \
- ( (This)->lpVtbl -> BeginEvent(This,Metadata,pData,Size) )
- #define ID3D12GraphicsCommandList9_EndEvent(This) \
- ( (This)->lpVtbl -> EndEvent(This) )
- #define ID3D12GraphicsCommandList9_ExecuteIndirect(This,pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) \
- ( (This)->lpVtbl -> ExecuteIndirect(This,pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) )
- #define ID3D12GraphicsCommandList9_AtomicCopyBufferUINT(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) \
- ( (This)->lpVtbl -> AtomicCopyBufferUINT(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) )
- #define ID3D12GraphicsCommandList9_AtomicCopyBufferUINT64(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) \
- ( (This)->lpVtbl -> AtomicCopyBufferUINT64(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) )
- #define ID3D12GraphicsCommandList9_OMSetDepthBounds(This,Min,Max) \
- ( (This)->lpVtbl -> OMSetDepthBounds(This,Min,Max) )
- #define ID3D12GraphicsCommandList9_SetSamplePositions(This,NumSamplesPerPixel,NumPixels,pSamplePositions) \
- ( (This)->lpVtbl -> SetSamplePositions(This,NumSamplesPerPixel,NumPixels,pSamplePositions) )
- #define ID3D12GraphicsCommandList9_ResolveSubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode) \
- ( (This)->lpVtbl -> ResolveSubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode) )
- #define ID3D12GraphicsCommandList9_SetViewInstanceMask(This,Mask) \
- ( (This)->lpVtbl -> SetViewInstanceMask(This,Mask) )
- #define ID3D12GraphicsCommandList9_WriteBufferImmediate(This,Count,pParams,pModes) \
- ( (This)->lpVtbl -> WriteBufferImmediate(This,Count,pParams,pModes) )
- #define ID3D12GraphicsCommandList9_SetProtectedResourceSession(This,pProtectedResourceSession) \
- ( (This)->lpVtbl -> SetProtectedResourceSession(This,pProtectedResourceSession) )
- #define ID3D12GraphicsCommandList9_BeginRenderPass(This,NumRenderTargets,pRenderTargets,pDepthStencil,Flags) \
- ( (This)->lpVtbl -> BeginRenderPass(This,NumRenderTargets,pRenderTargets,pDepthStencil,Flags) )
- #define ID3D12GraphicsCommandList9_EndRenderPass(This) \
- ( (This)->lpVtbl -> EndRenderPass(This) )
- #define ID3D12GraphicsCommandList9_InitializeMetaCommand(This,pMetaCommand,pInitializationParametersData,InitializationParametersDataSizeInBytes) \
- ( (This)->lpVtbl -> InitializeMetaCommand(This,pMetaCommand,pInitializationParametersData,InitializationParametersDataSizeInBytes) )
- #define ID3D12GraphicsCommandList9_ExecuteMetaCommand(This,pMetaCommand,pExecutionParametersData,ExecutionParametersDataSizeInBytes) \
- ( (This)->lpVtbl -> ExecuteMetaCommand(This,pMetaCommand,pExecutionParametersData,ExecutionParametersDataSizeInBytes) )
- #define ID3D12GraphicsCommandList9_BuildRaytracingAccelerationStructure(This,pDesc,NumPostbuildInfoDescs,pPostbuildInfoDescs) \
- ( (This)->lpVtbl -> BuildRaytracingAccelerationStructure(This,pDesc,NumPostbuildInfoDescs,pPostbuildInfoDescs) )
- #define ID3D12GraphicsCommandList9_EmitRaytracingAccelerationStructurePostbuildInfo(This,pDesc,NumSourceAccelerationStructures,pSourceAccelerationStructureData) \
- ( (This)->lpVtbl -> EmitRaytracingAccelerationStructurePostbuildInfo(This,pDesc,NumSourceAccelerationStructures,pSourceAccelerationStructureData) )
- #define ID3D12GraphicsCommandList9_CopyRaytracingAccelerationStructure(This,DestAccelerationStructureData,SourceAccelerationStructureData,Mode) \
- ( (This)->lpVtbl -> CopyRaytracingAccelerationStructure(This,DestAccelerationStructureData,SourceAccelerationStructureData,Mode) )
- #define ID3D12GraphicsCommandList9_SetPipelineState1(This,pStateObject) \
- ( (This)->lpVtbl -> SetPipelineState1(This,pStateObject) )
- #define ID3D12GraphicsCommandList9_DispatchRays(This,pDesc) \
- ( (This)->lpVtbl -> DispatchRays(This,pDesc) )
- #define ID3D12GraphicsCommandList9_RSSetShadingRate(This,baseShadingRate,combiners) \
- ( (This)->lpVtbl -> RSSetShadingRate(This,baseShadingRate,combiners) )
- #define ID3D12GraphicsCommandList9_RSSetShadingRateImage(This,shadingRateImage) \
- ( (This)->lpVtbl -> RSSetShadingRateImage(This,shadingRateImage) )
- #define ID3D12GraphicsCommandList9_DispatchMesh(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) \
- ( (This)->lpVtbl -> DispatchMesh(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) )
- #define ID3D12GraphicsCommandList9_Barrier(This,NumBarrierGroups,pBarrierGroups) \
- ( (This)->lpVtbl -> Barrier(This,NumBarrierGroups,pBarrierGroups) )
- #define ID3D12GraphicsCommandList9_OMSetFrontAndBackStencilRef(This,FrontStencilRef,BackStencilRef) \
- ( (This)->lpVtbl -> OMSetFrontAndBackStencilRef(This,FrontStencilRef,BackStencilRef) )
- #define ID3D12GraphicsCommandList9_RSSetDepthBias(This,DepthBias,DepthBiasClamp,SlopeScaledDepthBias) \
- ( (This)->lpVtbl -> RSSetDepthBias(This,DepthBias,DepthBiasClamp,SlopeScaledDepthBias) )
- #define ID3D12GraphicsCommandList9_IASetIndexBufferStripCutValue(This,IBStripCutValue) \
- ( (This)->lpVtbl -> IASetIndexBufferStripCutValue(This,IBStripCutValue) )
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __ID3D12GraphicsCommandList9_INTERFACE_DEFINED__ */
- /* interface __MIDL_itf_d3d12_0000_0068 */
- /* [local] */
- #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_GAMES) */
- #pragma endregion
- DEFINE_GUID(IID_ID3D12Object,0xc4fec28f,0x7966,0x4e95,0x9f,0x94,0xf4,0x31,0xcb,0x56,0xc3,0xb8);
- DEFINE_GUID(IID_ID3D12DeviceChild,0x905db94b,0xa00c,0x4140,0x9d,0xf5,0x2b,0x64,0xca,0x9e,0xa3,0x57);
- DEFINE_GUID(IID_ID3D12RootSignature,0xc54a6b66,0x72df,0x4ee8,0x8b,0xe5,0xa9,0x46,0xa1,0x42,0x92,0x14);
- DEFINE_GUID(IID_ID3D12RootSignatureDeserializer,0x34AB647B,0x3CC8,0x46AC,0x84,0x1B,0xC0,0x96,0x56,0x45,0xC0,0x46);
- DEFINE_GUID(IID_ID3D12VersionedRootSignatureDeserializer,0x7F91CE67,0x090C,0x4BB7,0xB7,0x8E,0xED,0x8F,0xF2,0xE3,0x1D,0xA0);
- DEFINE_GUID(IID_ID3D12Pageable,0x63ee58fb,0x1268,0x4835,0x86,0xda,0xf0,0x08,0xce,0x62,0xf0,0xd6);
- DEFINE_GUID(IID_ID3D12Heap,0x6b3b2502,0x6e51,0x45b3,0x90,0xee,0x98,0x84,0x26,0x5e,0x8d,0xf3);
- DEFINE_GUID(IID_ID3D12Resource,0x696442be,0xa72e,0x4059,0xbc,0x79,0x5b,0x5c,0x98,0x04,0x0f,0xad);
- DEFINE_GUID(IID_ID3D12CommandAllocator,0x6102dee4,0xaf59,0x4b09,0xb9,0x99,0xb4,0x4d,0x73,0xf0,0x9b,0x24);
- DEFINE_GUID(IID_ID3D12Fence,0x0a753dcf,0xc4d8,0x4b91,0xad,0xf6,0xbe,0x5a,0x60,0xd9,0x5a,0x76);
- DEFINE_GUID(IID_ID3D12Fence1,0x433685fe,0xe22b,0x4ca0,0xa8,0xdb,0xb5,0xb4,0xf4,0xdd,0x0e,0x4a);
- DEFINE_GUID(IID_ID3D12PipelineState,0x765a30f3,0xf624,0x4c6f,0xa8,0x28,0xac,0xe9,0x48,0x62,0x24,0x45);
- DEFINE_GUID(IID_ID3D12DescriptorHeap,0x8efb471d,0x616c,0x4f49,0x90,0xf7,0x12,0x7b,0xb7,0x63,0xfa,0x51);
- DEFINE_GUID(IID_ID3D12QueryHeap,0x0d9658ae,0xed45,0x469e,0xa6,0x1d,0x97,0x0e,0xc5,0x83,0xca,0xb4);
- DEFINE_GUID(IID_ID3D12CommandSignature,0xc36a797c,0xec80,0x4f0a,0x89,0x85,0xa7,0xb2,0x47,0x50,0x82,0xd1);
- DEFINE_GUID(IID_ID3D12CommandList,0x7116d91c,0xe7e4,0x47ce,0xb8,0xc6,0xec,0x81,0x68,0xf4,0x37,0xe5);
- DEFINE_GUID(IID_ID3D12GraphicsCommandList,0x5b160d0f,0xac1b,0x4185,0x8b,0xa8,0xb3,0xae,0x42,0xa5,0xa4,0x55);
- DEFINE_GUID(IID_ID3D12GraphicsCommandList1,0x553103fb,0x1fe7,0x4557,0xbb,0x38,0x94,0x6d,0x7d,0x0e,0x7c,0xa7);
- DEFINE_GUID(IID_ID3D12GraphicsCommandList2,0x38C3E585,0xFF17,0x412C,0x91,0x50,0x4F,0xC6,0xF9,0xD7,0x2A,0x28);
- DEFINE_GUID(IID_ID3D12CommandQueue,0x0ec870a6,0x5d7e,0x4c22,0x8c,0xfc,0x5b,0xaa,0xe0,0x76,0x16,0xed);
- DEFINE_GUID(IID_ID3D12Device,0x189819f1,0x1db6,0x4b57,0xbe,0x54,0x18,0x21,0x33,0x9b,0x85,0xf7);
- DEFINE_GUID(IID_ID3D12PipelineLibrary,0xc64226a8,0x9201,0x46af,0xb4,0xcc,0x53,0xfb,0x9f,0xf7,0x41,0x4f);
- DEFINE_GUID(IID_ID3D12PipelineLibrary1,0x80eabf42,0x2568,0x4e5e,0xbd,0x82,0xc3,0x7f,0x86,0x96,0x1d,0xc3);
- DEFINE_GUID(IID_ID3D12Device1,0x77acce80,0x638e,0x4e65,0x88,0x95,0xc1,0xf2,0x33,0x86,0x86,0x3e);
- DEFINE_GUID(IID_ID3D12Device2,0x30baa41e,0xb15b,0x475c,0xa0,0xbb,0x1a,0xf5,0xc5,0xb6,0x43,0x28);
- DEFINE_GUID(IID_ID3D12Device3,0x81dadc15,0x2bad,0x4392,0x93,0xc5,0x10,0x13,0x45,0xc4,0xaa,0x98);
- DEFINE_GUID(IID_ID3D12ProtectedSession,0xA1533D18,0x0AC1,0x4084,0x85,0xB9,0x89,0xA9,0x61,0x16,0x80,0x6B);
- DEFINE_GUID(IID_ID3D12ProtectedResourceSession,0x6CD696F4,0xF289,0x40CC,0x80,0x91,0x5A,0x6C,0x0A,0x09,0x9C,0x3D);
- DEFINE_GUID(IID_ID3D12Device4,0xe865df17,0xa9ee,0x46f9,0xa4,0x63,0x30,0x98,0x31,0x5a,0xa2,0xe5);
- DEFINE_GUID(IID_ID3D12LifetimeOwner,0xe667af9f,0xcd56,0x4f46,0x83,0xce,0x03,0x2e,0x59,0x5d,0x70,0xa8);
- DEFINE_GUID(IID_ID3D12SwapChainAssistant,0xf1df64b6,0x57fd,0x49cd,0x88,0x07,0xc0,0xeb,0x88,0xb4,0x5c,0x8f);
- DEFINE_GUID(IID_ID3D12LifetimeTracker,0x3fd03d36,0x4eb1,0x424a,0xa5,0x82,0x49,0x4e,0xcb,0x8b,0xa8,0x13);
- DEFINE_GUID(IID_ID3D12StateObject,0x47016943,0xfca8,0x4594,0x93,0xea,0xaf,0x25,0x8b,0x55,0x34,0x6d);
- DEFINE_GUID(IID_ID3D12StateObjectProperties,0xde5fa827,0x9bf9,0x4f26,0x89,0xff,0xd7,0xf5,0x6f,0xde,0x38,0x60);
- DEFINE_GUID(IID_ID3D12Device5,0x8b4f173b,0x2fea,0x4b80,0x8f,0x58,0x43,0x07,0x19,0x1a,0xb9,0x5d);
- DEFINE_GUID(IID_ID3D12DeviceRemovedExtendedDataSettings,0x82BC481C,0x6B9B,0x4030,0xAE,0xDB,0x7E,0xE3,0xD1,0xDF,0x1E,0x63);
- DEFINE_GUID(IID_ID3D12DeviceRemovedExtendedDataSettings1,0xDBD5AE51,0x3317,0x4F0A,0xAD,0xF9,0x1D,0x7C,0xED,0xCA,0xAE,0x0B);
- DEFINE_GUID(IID_ID3D12DeviceRemovedExtendedDataSettings2,0x61552388,0x01ab,0x4008,0xa4,0x36,0x83,0xdb,0x18,0x95,0x66,0xea);
- DEFINE_GUID(IID_ID3D12DeviceRemovedExtendedData,0x98931D33,0x5AE8,0x4791,0xAA,0x3C,0x1A,0x73,0xA2,0x93,0x4E,0x71);
- DEFINE_GUID(IID_ID3D12DeviceRemovedExtendedData1,0x9727A022,0xCF1D,0x4DDA,0x9E,0xBA,0xEF,0xFA,0x65,0x3F,0xC5,0x06);
- DEFINE_GUID(IID_ID3D12DeviceRemovedExtendedData2,0x67FC5816,0xE4CA,0x4915,0xBF,0x18,0x42,0x54,0x12,0x72,0xDA,0x54);
- DEFINE_GUID(IID_ID3D12Device6,0xc70b221b,0x40e4,0x4a17,0x89,0xaf,0x02,0x5a,0x07,0x27,0xa6,0xdc);
- DEFINE_GUID(IID_ID3D12ProtectedResourceSession1,0xD6F12DD6,0x76FB,0x406E,0x89,0x61,0x42,0x96,0xEE,0xFC,0x04,0x09);
- DEFINE_GUID(IID_ID3D12Device7,0x5c014b53,0x68a1,0x4b9b,0x8b,0xd1,0xdd,0x60,0x46,0xb9,0x35,0x8b);
- DEFINE_GUID(IID_ID3D12Device8,0x9218E6BB,0xF944,0x4F7E,0xA7,0x5C,0xB1,0xB2,0xC7,0xB7,0x01,0xF3);
- DEFINE_GUID(IID_ID3D12Resource1,0x9D5E227A,0x4430,0x4161,0x88,0xB3,0x3E,0xCA,0x6B,0xB1,0x6E,0x19);
- DEFINE_GUID(IID_ID3D12Resource2,0xBE36EC3B,0xEA85,0x4AEB,0xA4,0x5A,0xE9,0xD7,0x64,0x04,0xA4,0x95);
- DEFINE_GUID(IID_ID3D12Heap1,0x572F7389,0x2168,0x49E3,0x96,0x93,0xD6,0xDF,0x58,0x71,0xBF,0x6D);
- DEFINE_GUID(IID_ID3D12GraphicsCommandList3,0x6FDA83A7,0xB84C,0x4E38,0x9A,0xC8,0xC7,0xBD,0x22,0x01,0x6B,0x3D);
- DEFINE_GUID(IID_ID3D12MetaCommand,0xDBB84C27,0x36CE,0x4FC9,0xB8,0x01,0xF0,0x48,0xC4,0x6A,0xC5,0x70);
- DEFINE_GUID(IID_ID3D12GraphicsCommandList4,0x8754318e,0xd3a9,0x4541,0x98,0xcf,0x64,0x5b,0x50,0xdc,0x48,0x74);
- DEFINE_GUID(IID_ID3D12ShaderCacheSession,0x28e2495d,0x0f64,0x4ae4,0xa6,0xec,0x12,0x92,0x55,0xdc,0x49,0xa8);
- DEFINE_GUID(IID_ID3D12Device9,0x4c80e962,0xf032,0x4f60,0xbc,0x9e,0xeb,0xc2,0xcf,0xa1,0xd8,0x3c);
- DEFINE_GUID(IID_ID3D12Device10,0x517f8718,0xaa66,0x49f9,0xb0,0x2b,0xa7,0xab,0x89,0xc0,0x60,0x31);
- DEFINE_GUID(IID_ID3D12Device11,0x5405c344,0xd457,0x444e,0xb4,0xdd,0x23,0x66,0xe4,0x5a,0xee,0x39);
- DEFINE_GUID(IID_ID3D12Device12,0x5af5c532,0x4c91,0x4cd0,0xb5,0x41,0x15,0xa4,0x05,0x39,0x5f,0xc5);
- DEFINE_GUID(IID_ID3D12Device13,0x14eecffc,0x4df8,0x40f7,0xa1,0x18,0x5c,0x81,0x6f,0x45,0x69,0x5e);
- DEFINE_GUID(IID_ID3D12VirtualizationGuestDevice,0xbc66d368,0x7373,0x4943,0x87,0x57,0xfc,0x87,0xdc,0x79,0xe4,0x76);
- DEFINE_GUID(IID_ID3D12Tools,0x7071e1f0,0xe84b,0x4b33,0x97,0x4f,0x12,0xfa,0x49,0xde,0x65,0xc5);
- DEFINE_GUID(IID_ID3D12SDKConfiguration,0xe9eb5314,0x33aa,0x42b2,0xa7,0x18,0xd7,0x7f,0x58,0xb1,0xf1,0xc7);
- DEFINE_GUID(IID_ID3D12SDKConfiguration1,0x8aaf9303,0xad25,0x48b9,0x9a,0x57,0xd9,0xc3,0x7e,0x00,0x9d,0x9f);
- DEFINE_GUID(IID_ID3D12DeviceFactory,0x61f307d3,0xd34e,0x4e7c,0x83,0x74,0x3b,0xa4,0xde,0x23,0xcc,0xcb);
- DEFINE_GUID(IID_ID3D12DeviceConfiguration,0x78dbf87b,0xf766,0x422b,0xa6,0x1c,0xc8,0xc4,0x46,0xbd,0xb9,0xad);
- DEFINE_GUID(IID_ID3D12GraphicsCommandList5,0x55050859,0x4024,0x474c,0x87,0xf5,0x64,0x72,0xea,0xee,0x44,0xea);
- DEFINE_GUID(IID_ID3D12GraphicsCommandList6,0xc3827890,0xe548,0x4cfa,0x96,0xcf,0x56,0x89,0xa9,0x37,0x0f,0x80);
- DEFINE_GUID(IID_ID3D12GraphicsCommandList7,0xdd171223,0x8b61,0x4769,0x90,0xe3,0x16,0x0c,0xcd,0xe4,0xe2,0xc1);
- DEFINE_GUID(IID_ID3D12GraphicsCommandList8,0xee936ef9,0x599d,0x4d28,0x93,0x8e,0x23,0xc4,0xad,0x05,0xce,0x51);
- DEFINE_GUID(IID_ID3D12GraphicsCommandList9,0x34ed2808,0xffe6,0x4c2b,0xb1,0x1a,0xca,0xbd,0x2b,0x0c,0x59,0xe1);
- extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0068_v0_0_c_ifspec;
- extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0068_v0_0_s_ifspec;
- /* Additional Prototypes for ALL interfaces */
- /* end of Additional Prototypes */
- #ifdef __cplusplus
- }
- #endif
- #endif
|