| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311531253135314531553165317531853195320532153225323532453255326532753285329533053315332533353345335533653375338533953405341534253435344534553465347534853495350535153525353535453555356535753585359536053615362536353645365536653675368536953705371537253735374537553765377537853795380538153825383538453855386538753885389539053915392539353945395539653975398539954005401540254035404540554065407540854095410541154125413541454155416541754185419542054215422542354245425542654275428542954305431543254335434543554365437543854395440544154425443544454455446544754485449545054515452545354545455545654575458545954605461546254635464546554665467546854695470547154725473547454755476547754785479548054815482548354845485548654875488548954905491549254935494549554965497549854995500550155025503550455055506550755085509551055115512551355145515551655175518551955205521552255235524552555265527552855295530553155325533553455355536553755385539554055415542554355445545554655475548554955505551555255535554555555565557555855595560556155625563556455655566556755685569557055715572557355745575557655775578557955805581558255835584558555865587558855895590559155925593559455955596559755985599560056015602560356045605560656075608560956105611561256135614561556165617561856195620562156225623562456255626562756285629563056315632563356345635563656375638563956405641564256435644564556465647564856495650565156525653565456555656565756585659566056615662566356645665566656675668566956705671567256735674567556765677567856795680568156825683568456855686568756885689569056915692569356945695569656975698569957005701570257035704570557065707570857095710571157125713571457155716571757185719572057215722572357245725572657275728572957305731573257335734573557365737573857395740574157425743574457455746574757485749575057515752575357545755575657575758575957605761576257635764576557665767576857695770577157725773577457755776577757785779578057815782578357845785578657875788578957905791579257935794579557965797579857995800580158025803580458055806580758085809581058115812581358145815581658175818581958205821582258235824582558265827582858295830583158325833583458355836583758385839584058415842584358445845584658475848584958505851585258535854585558565857585858595860586158625863586458655866586758685869587058715872587358745875587658775878587958805881588258835884588558865887588858895890589158925893589458955896589758985899590059015902590359045905590659075908590959105911591259135914591559165917591859195920592159225923592459255926592759285929593059315932593359345935593659375938593959405941594259435944594559465947594859495950595159525953595459555956595759585959596059615962596359645965596659675968596959705971597259735974597559765977597859795980598159825983598459855986598759885989599059915992599359945995599659975998599960006001600260036004600560066007600860096010601160126013601460156016601760186019602060216022602360246025602660276028602960306031603260336034603560366037603860396040604160426043604460456046604760486049605060516052605360546055605660576058605960606061606260636064606560666067606860696070607160726073607460756076607760786079608060816082608360846085608660876088608960906091609260936094609560966097609860996100610161026103610461056106610761086109611061116112611361146115611661176118611961206121612261236124612561266127612861296130613161326133613461356136613761386139614061416142614361446145614661476148614961506151615261536154615561566157615861596160616161626163616461656166616761686169617061716172617361746175617661776178617961806181618261836184618561866187618861896190619161926193619461956196619761986199620062016202620362046205620662076208620962106211621262136214621562166217621862196220622162226223622462256226622762286229623062316232623362346235623662376238623962406241624262436244624562466247624862496250625162526253625462556256625762586259626062616262626362646265626662676268626962706271627262736274627562766277627862796280628162826283628462856286628762886289629062916292629362946295629662976298629963006301630263036304630563066307630863096310631163126313631463156316631763186319632063216322632363246325632663276328632963306331633263336334633563366337633863396340634163426343634463456346634763486349635063516352635363546355635663576358635963606361636263636364636563666367636863696370637163726373637463756376637763786379638063816382638363846385638663876388638963906391639263936394639563966397639863996400640164026403640464056406640764086409641064116412641364146415641664176418641964206421642264236424642564266427642864296430643164326433643464356436643764386439644064416442644364446445644664476448644964506451645264536454645564566457645864596460646164626463646464656466646764686469647064716472647364746475647664776478647964806481648264836484648564866487648864896490649164926493649464956496649764986499650065016502650365046505650665076508650965106511651265136514651565166517651865196520652165226523652465256526652765286529653065316532653365346535653665376538653965406541654265436544654565466547654865496550655165526553655465556556655765586559656065616562656365646565656665676568656965706571657265736574657565766577657865796580658165826583658465856586658765886589659065916592659365946595659665976598659966006601660266036604660566066607660866096610661166126613661466156616661766186619662066216622662366246625662666276628662966306631663266336634663566366637663866396640664166426643664466456646664766486649665066516652665366546655665666576658665966606661666266636664666566666667666866696670667166726673667466756676667766786679668066816682668366846685668666876688668966906691669266936694669566966697669866996700670167026703670467056706670767086709671067116712671367146715671667176718671967206721672267236724672567266727672867296730673167326733673467356736673767386739674067416742674367446745674667476748674967506751675267536754675567566757675867596760676167626763676467656766676767686769677067716772677367746775677667776778677967806781678267836784678567866787678867896790679167926793679467956796679767986799680068016802680368046805680668076808680968106811681268136814681568166817681868196820682168226823682468256826682768286829683068316832683368346835683668376838683968406841684268436844684568466847684868496850685168526853685468556856685768586859686068616862686368646865686668676868686968706871687268736874687568766877687868796880688168826883688468856886688768886889689068916892689368946895689668976898689969006901690269036904690569066907690869096910691169126913691469156916691769186919692069216922692369246925692669276928692969306931693269336934693569366937693869396940694169426943694469456946694769486949695069516952695369546955695669576958695969606961696269636964696569666967696869696970697169726973697469756976697769786979698069816982698369846985698669876988698969906991699269936994699569966997699869997000700170027003700470057006700770087009701070117012701370147015701670177018701970207021702270237024702570267027702870297030703170327033703470357036703770387039704070417042704370447045704670477048704970507051705270537054705570567057705870597060706170627063706470657066706770687069707070717072707370747075707670777078707970807081708270837084708570867087708870897090709170927093709470957096709770987099710071017102710371047105710671077108710971107111711271137114711571167117711871197120712171227123712471257126712771287129713071317132713371347135713671377138713971407141714271437144714571467147714871497150715171527153715471557156715771587159716071617162716371647165716671677168716971707171717271737174717571767177717871797180718171827183718471857186718771887189719071917192719371947195719671977198719972007201720272037204720572067207720872097210721172127213721472157216721772187219722072217222722372247225722672277228722972307231723272337234723572367237723872397240724172427243724472457246724772487249725072517252725372547255725672577258725972607261726272637264726572667267726872697270727172727273727472757276727772787279728072817282728372847285728672877288728972907291729272937294729572967297729872997300730173027303730473057306730773087309731073117312731373147315731673177318731973207321732273237324732573267327732873297330733173327333733473357336733773387339734073417342734373447345734673477348734973507351735273537354735573567357735873597360736173627363736473657366736773687369737073717372737373747375737673777378737973807381738273837384738573867387738873897390739173927393739473957396739773987399740074017402740374047405740674077408740974107411741274137414741574167417741874197420742174227423742474257426742774287429743074317432743374347435743674377438743974407441744274437444744574467447744874497450745174527453745474557456745774587459746074617462746374647465746674677468746974707471747274737474747574767477747874797480748174827483748474857486748774887489749074917492749374947495749674977498749975007501750275037504750575067507750875097510751175127513751475157516751775187519752075217522752375247525752675277528752975307531753275337534753575367537753875397540754175427543754475457546754775487549755075517552755375547555755675577558755975607561756275637564756575667567756875697570757175727573757475757576757775787579758075817582758375847585758675877588758975907591759275937594759575967597759875997600760176027603760476057606760776087609761076117612761376147615761676177618761976207621762276237624762576267627762876297630763176327633763476357636763776387639764076417642764376447645764676477648764976507651765276537654765576567657765876597660766176627663766476657666766776687669767076717672767376747675767676777678767976807681768276837684768576867687768876897690769176927693769476957696769776987699770077017702770377047705770677077708770977107711771277137714771577167717771877197720772177227723772477257726772777287729773077317732773377347735773677377738773977407741774277437744774577467747774877497750775177527753775477557756775777587759776077617762776377647765776677677768776977707771777277737774777577767777777877797780778177827783778477857786778777887789779077917792779377947795779677977798779978007801780278037804780578067807780878097810781178127813781478157816781778187819782078217822782378247825782678277828782978307831783278337834783578367837783878397840784178427843784478457846784778487849785078517852785378547855785678577858785978607861786278637864786578667867786878697870787178727873787478757876787778787879788078817882788378847885788678877888788978907891789278937894789578967897789878997900790179027903790479057906790779087909791079117912791379147915791679177918791979207921792279237924792579267927792879297930793179327933793479357936793779387939794079417942794379447945794679477948794979507951795279537954795579567957795879597960796179627963796479657966796779687969797079717972797379747975797679777978797979807981798279837984798579867987798879897990799179927993799479957996799779987999800080018002800380048005800680078008800980108011801280138014801580168017801880198020802180228023802480258026802780288029803080318032803380348035803680378038803980408041804280438044804580468047804880498050805180528053805480558056805780588059806080618062806380648065806680678068806980708071807280738074807580768077807880798080808180828083808480858086808780888089809080918092809380948095809680978098809981008101810281038104810581068107810881098110811181128113811481158116811781188119812081218122812381248125812681278128812981308131813281338134813581368137813881398140814181428143814481458146814781488149815081518152815381548155815681578158815981608161816281638164816581668167816881698170817181728173817481758176817781788179818081818182818381848185818681878188818981908191819281938194819581968197819881998200820182028203820482058206820782088209821082118212821382148215821682178218821982208221822282238224822582268227822882298230823182328233823482358236823782388239824082418242824382448245824682478248824982508251825282538254825582568257825882598260826182628263826482658266826782688269827082718272827382748275827682778278827982808281828282838284828582868287828882898290829182928293829482958296829782988299830083018302830383048305830683078308830983108311831283138314831583168317831883198320832183228323832483258326832783288329833083318332833383348335833683378338833983408341834283438344834583468347834883498350835183528353835483558356835783588359836083618362836383648365836683678368836983708371837283738374837583768377837883798380838183828383838483858386838783888389839083918392839383948395839683978398839984008401840284038404840584068407840884098410841184128413841484158416841784188419842084218422842384248425842684278428842984308431843284338434843584368437843884398440844184428443844484458446844784488449845084518452845384548455845684578458845984608461846284638464846584668467846884698470847184728473847484758476847784788479848084818482848384848485848684878488848984908491849284938494849584968497849884998500850185028503850485058506850785088509851085118512851385148515851685178518851985208521852285238524852585268527852885298530853185328533853485358536853785388539854085418542854385448545854685478548854985508551855285538554855585568557855885598560856185628563856485658566856785688569857085718572857385748575857685778578857985808581858285838584858585868587858885898590859185928593859485958596859785988599860086018602860386048605860686078608860986108611861286138614861586168617861886198620862186228623862486258626862786288629863086318632863386348635863686378638863986408641864286438644864586468647864886498650865186528653865486558656865786588659866086618662866386648665866686678668866986708671867286738674867586768677867886798680868186828683868486858686868786888689869086918692869386948695869686978698869987008701870287038704870587068707870887098710871187128713871487158716871787188719872087218722872387248725872687278728872987308731873287338734873587368737873887398740874187428743874487458746874787488749875087518752875387548755875687578758875987608761876287638764876587668767876887698770877187728773877487758776877787788779878087818782878387848785878687878788878987908791879287938794879587968797879887998800880188028803880488058806880788088809881088118812881388148815881688178818881988208821882288238824882588268827882888298830883188328833883488358836883788388839884088418842884388448845884688478848884988508851885288538854885588568857885888598860886188628863886488658866886788688869 |
- /*-------------------------------------------------------------------------------------
- *
- * Copyright (c) Microsoft Corporation
- *
- *-------------------------------------------------------------------------------------*/
- /* this ALWAYS GENERATED file contains the definitions for the interfaces */
- /* File created by MIDL compiler version 8.01.0622 */
- /* 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
- /* 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 __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 __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 __ID3D12Tools_FWD_DEFINED__
- #define __ID3D12Tools_FWD_DEFINED__
- typedef interface ID3D12Tools ID3D12Tools;
- #endif /* __ID3D12Tools_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)
- #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_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_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_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_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_UAV_COUNTER_PLACEMENT_ALIGNMENT ( 4096 )
- #define D3D12_UAV_SLOT_COUNT ( 64 )
- #define D3D12_UNBOUND_MEMORY_ACCESS_RESULT ( 0 )
- #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;
- 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_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
- 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;
- 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;
- 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
-
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12Object * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12Object * This);
-
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12Object * This);
-
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12Object * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12Object * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12Object * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- 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
-
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12DeviceChild * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12DeviceChild * This);
-
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12DeviceChild * This);
-
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12DeviceChild * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12DeviceChild * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12DeviceChild * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12DeviceChild * This,
- _In_z_ LPCWSTR Name);
-
- 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
-
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12RootSignature * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12RootSignature * This);
-
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12RootSignature * This);
-
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12RootSignature * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12RootSignature * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12RootSignature * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12RootSignature * This,
- _In_z_ LPCWSTR Name);
-
- 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_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_MAX_VALID = ( D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL1 + 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_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;
- 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;
- 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;
- 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;
- 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 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;
- 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;
- 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_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 struct D3D12_RESOURCE_ALLOCATION_INFO
- {
- UINT64 SizeInBytes;
- UINT64 Alignment;
- } D3D12_RESOURCE_ALLOCATION_INFO;
- 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;
- 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_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
- 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_FLAGS;
- DEFINE_ENUM_FLAG_OPERATORS( D3D12_RESOURCE_FLAGS );
- 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_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_GENERIC_READ = ( ( ( ( ( 0x1 | 0x2 ) | 0x40 ) | 0x80 ) | 0x200 ) | 0x800 ) ,
- D3D12_RESOURCE_STATE_PRESENT = 0,
- D3D12_RESOURCE_STATE_PREDICATION = 0x200
- } 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;
- typedef struct D3D12_SAMPLE_POSITION
- {
- INT8 X;
- INT8 Y;
- } D3D12_SAMPLE_POSITION;
- 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
- 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;
- 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_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_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_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_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_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_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 ) ) && \
- ( D3D12_FILTER_TYPE_LINEAR == D3D12_DECODE_MIP_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_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_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_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_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_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;
- 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_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;
- 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_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_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_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_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
-
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12RootSignatureDeserializer * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12RootSignatureDeserializer * This);
-
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12RootSignatureDeserializer * This);
-
- 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
-
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12VersionedRootSignatureDeserializer * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12VersionedRootSignatureDeserializer * This);
-
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12VersionedRootSignatureDeserializer * This);
-
- HRESULT ( STDMETHODCALLTYPE *GetRootSignatureDescAtVersion )(
- ID3D12VersionedRootSignatureDeserializer * This,
- D3D_ROOT_SIGNATURE_VERSION convertToVersion,
- _Out_ const D3D12_VERSIONED_ROOT_SIGNATURE_DESC **ppDesc);
-
- 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;
- 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;
- 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_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;
- 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
-
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12Pageable * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12Pageable * This);
-
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12Pageable * This);
-
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12Pageable * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12Pageable * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12Pageable * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12Pageable * This,
- _In_z_ LPCWSTR Name);
-
- 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:
- virtual D3D12_HEAP_DESC STDMETHODCALLTYPE GetDesc( void) = 0;
-
- };
-
-
- #else /* C style interface */
- typedef struct ID3D12HeapVtbl
- {
- BEGIN_INTERFACE
-
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12Heap * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12Heap * This);
-
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12Heap * This);
-
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12Heap * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12Heap * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12Heap * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12Heap * This,
- _In_z_ LPCWSTR Name);
-
- HRESULT ( STDMETHODCALLTYPE *GetDevice )(
- ID3D12Heap * This,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvDevice);
-
- D3D12_HEAP_DESC ( STDMETHODCALLTYPE *GetDesc )(
- ID3D12Heap * This);
-
- 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) )
- #define ID3D12Heap_GetDesc(This) \
- ( (This)->lpVtbl -> GetDesc(This) )
- #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;
-
- virtual D3D12_RESOURCE_DESC STDMETHODCALLTYPE GetDesc( void) = 0;
-
- 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
-
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12Resource * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12Resource * This);
-
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12Resource * This);
-
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12Resource * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12Resource * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12Resource * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12Resource * This,
- _In_z_ LPCWSTR Name);
-
- HRESULT ( STDMETHODCALLTYPE *GetDevice )(
- ID3D12Resource * This,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvDevice);
-
- HRESULT ( STDMETHODCALLTYPE *Map )(
- ID3D12Resource * This,
- UINT Subresource,
- _In_opt_ const D3D12_RANGE *pReadRange,
- _Outptr_opt_result_bytebuffer_(_Inexpressible_("Dependent on resource")) void **ppData);
-
- void ( STDMETHODCALLTYPE *Unmap )(
- ID3D12Resource * This,
- UINT Subresource,
- _In_opt_ const D3D12_RANGE *pWrittenRange);
-
- D3D12_RESOURCE_DESC ( STDMETHODCALLTYPE *GetDesc )(
- ID3D12Resource * This);
-
- D3D12_GPU_VIRTUAL_ADDRESS ( STDMETHODCALLTYPE *GetGPUVirtualAddress )(
- ID3D12Resource * This);
-
- HRESULT ( STDMETHODCALLTYPE *WriteToSubresource )(
- ID3D12Resource * This,
- UINT DstSubresource,
- _In_opt_ const D3D12_BOX *pDstBox,
- _In_ const void *pSrcData,
- UINT SrcRowPitch,
- UINT SrcDepthPitch);
-
- HRESULT ( STDMETHODCALLTYPE *ReadFromSubresource )(
- ID3D12Resource * This,
- _Out_ void *pDstData,
- UINT DstRowPitch,
- UINT DstDepthPitch,
- UINT SrcSubresource,
- _In_opt_ const D3D12_BOX *pSrcBox);
-
- 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) )
- #define ID3D12Resource_GetDesc(This) \
- ( (This)->lpVtbl -> GetDesc(This) )
- #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
-
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12CommandAllocator * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12CommandAllocator * This);
-
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12CommandAllocator * This);
-
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12CommandAllocator * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12CommandAllocator * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12CommandAllocator * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12CommandAllocator * This,
- _In_z_ LPCWSTR Name);
-
- HRESULT ( STDMETHODCALLTYPE *GetDevice )(
- ID3D12CommandAllocator * This,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvDevice);
-
- 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
-
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12Fence * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12Fence * This);
-
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12Fence * This);
-
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12Fence * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12Fence * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12Fence * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12Fence * This,
- _In_z_ LPCWSTR Name);
-
- HRESULT ( STDMETHODCALLTYPE *GetDevice )(
- ID3D12Fence * This,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvDevice);
-
- UINT64 ( STDMETHODCALLTYPE *GetCompletedValue )(
- ID3D12Fence * This);
-
- HRESULT ( STDMETHODCALLTYPE *SetEventOnCompletion )(
- ID3D12Fence * This,
- UINT64 Value,
- HANDLE hEvent);
-
- 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 __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
-
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12PipelineState * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12PipelineState * This);
-
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12PipelineState * This);
-
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12PipelineState * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12PipelineState * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12PipelineState * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12PipelineState * This,
- _In_z_ LPCWSTR Name);
-
- HRESULT ( STDMETHODCALLTYPE *GetDevice )(
- ID3D12PipelineState * This,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvDevice);
-
- 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:
- virtual D3D12_DESCRIPTOR_HEAP_DESC STDMETHODCALLTYPE GetDesc( void) = 0;
-
- virtual D3D12_CPU_DESCRIPTOR_HANDLE STDMETHODCALLTYPE GetCPUDescriptorHandleForHeapStart( void) = 0;
-
- virtual D3D12_GPU_DESCRIPTOR_HANDLE STDMETHODCALLTYPE GetGPUDescriptorHandleForHeapStart( void) = 0;
-
- };
-
-
- #else /* C style interface */
- typedef struct ID3D12DescriptorHeapVtbl
- {
- BEGIN_INTERFACE
-
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12DescriptorHeap * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12DescriptorHeap * This);
-
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12DescriptorHeap * This);
-
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12DescriptorHeap * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12DescriptorHeap * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12DescriptorHeap * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12DescriptorHeap * This,
- _In_z_ LPCWSTR Name);
-
- HRESULT ( STDMETHODCALLTYPE *GetDevice )(
- ID3D12DescriptorHeap * This,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvDevice);
-
- D3D12_DESCRIPTOR_HEAP_DESC ( STDMETHODCALLTYPE *GetDesc )(
- ID3D12DescriptorHeap * This);
-
- D3D12_CPU_DESCRIPTOR_HANDLE ( STDMETHODCALLTYPE *GetCPUDescriptorHandleForHeapStart )(
- ID3D12DescriptorHeap * This);
-
- D3D12_GPU_DESCRIPTOR_HANDLE ( STDMETHODCALLTYPE *GetGPUDescriptorHandleForHeapStart )(
- ID3D12DescriptorHeap * This);
-
- 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) )
- #define ID3D12DescriptorHeap_GetDesc(This) \
- ( (This)->lpVtbl -> GetDesc(This) )
- #define ID3D12DescriptorHeap_GetCPUDescriptorHandleForHeapStart(This) \
- ( (This)->lpVtbl -> GetCPUDescriptorHandleForHeapStart(This) )
- #define ID3D12DescriptorHeap_GetGPUDescriptorHandleForHeapStart(This) \
- ( (This)->lpVtbl -> GetGPUDescriptorHandleForHeapStart(This) )
- #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
-
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12QueryHeap * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12QueryHeap * This);
-
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12QueryHeap * This);
-
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12QueryHeap * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12QueryHeap * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12QueryHeap * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12QueryHeap * This,
- _In_z_ LPCWSTR Name);
-
- 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
-
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12CommandSignature * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12CommandSignature * This);
-
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12CommandSignature * This);
-
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12CommandSignature * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12CommandSignature * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12CommandSignature * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12CommandSignature * This,
- _In_z_ LPCWSTR Name);
-
- 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
-
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12CommandList * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12CommandList * This);
-
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12CommandList * This);
-
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12CommandList * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12CommandList * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12CommandList * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12CommandList * This,
- _In_z_ LPCWSTR Name);
-
- HRESULT ( STDMETHODCALLTYPE *GetDevice )(
- ID3D12CommandList * This,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvDevice);
-
- 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_opt_ 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
-
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12GraphicsCommandList * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12GraphicsCommandList * This);
-
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12GraphicsCommandList * This);
-
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12GraphicsCommandList * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12GraphicsCommandList * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12GraphicsCommandList * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12GraphicsCommandList * This,
- _In_z_ LPCWSTR Name);
-
- HRESULT ( STDMETHODCALLTYPE *GetDevice )(
- ID3D12GraphicsCommandList * This,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvDevice);
-
- D3D12_COMMAND_LIST_TYPE ( STDMETHODCALLTYPE *GetType )(
- ID3D12GraphicsCommandList * This);
-
- HRESULT ( STDMETHODCALLTYPE *Close )(
- ID3D12GraphicsCommandList * This);
-
- HRESULT ( STDMETHODCALLTYPE *Reset )(
- ID3D12GraphicsCommandList * This,
- _In_ ID3D12CommandAllocator *pAllocator,
- _In_opt_ ID3D12PipelineState *pInitialState);
-
- void ( STDMETHODCALLTYPE *ClearState )(
- ID3D12GraphicsCommandList * This,
- _In_opt_ ID3D12PipelineState *pPipelineState);
-
- void ( STDMETHODCALLTYPE *DrawInstanced )(
- ID3D12GraphicsCommandList * This,
- _In_ UINT VertexCountPerInstance,
- _In_ UINT InstanceCount,
- _In_ UINT StartVertexLocation,
- _In_ UINT StartInstanceLocation);
-
- void ( STDMETHODCALLTYPE *DrawIndexedInstanced )(
- ID3D12GraphicsCommandList * This,
- _In_ UINT IndexCountPerInstance,
- _In_ UINT InstanceCount,
- _In_ UINT StartIndexLocation,
- _In_ INT BaseVertexLocation,
- _In_ UINT StartInstanceLocation);
-
- void ( STDMETHODCALLTYPE *Dispatch )(
- ID3D12GraphicsCommandList * This,
- _In_ UINT ThreadGroupCountX,
- _In_ UINT ThreadGroupCountY,
- _In_ UINT ThreadGroupCountZ);
-
- void ( STDMETHODCALLTYPE *CopyBufferRegion )(
- ID3D12GraphicsCommandList * This,
- _In_ ID3D12Resource *pDstBuffer,
- UINT64 DstOffset,
- _In_ ID3D12Resource *pSrcBuffer,
- UINT64 SrcOffset,
- UINT64 NumBytes);
-
- 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);
-
- void ( STDMETHODCALLTYPE *CopyResource )(
- ID3D12GraphicsCommandList * This,
- _In_ ID3D12Resource *pDstResource,
- _In_ ID3D12Resource *pSrcResource);
-
- 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);
-
- void ( STDMETHODCALLTYPE *ResolveSubresource )(
- ID3D12GraphicsCommandList * This,
- _In_ ID3D12Resource *pDstResource,
- _In_ UINT DstSubresource,
- _In_ ID3D12Resource *pSrcResource,
- _In_ UINT SrcSubresource,
- _In_ DXGI_FORMAT Format);
-
- void ( STDMETHODCALLTYPE *IASetPrimitiveTopology )(
- ID3D12GraphicsCommandList * This,
- _In_ D3D12_PRIMITIVE_TOPOLOGY PrimitiveTopology);
-
- 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);
-
- 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);
-
- void ( STDMETHODCALLTYPE *OMSetBlendFactor )(
- ID3D12GraphicsCommandList * This,
- _In_opt_ const FLOAT BlendFactor[ 4 ]);
-
- void ( STDMETHODCALLTYPE *OMSetStencilRef )(
- ID3D12GraphicsCommandList * This,
- _In_ UINT StencilRef);
-
- void ( STDMETHODCALLTYPE *SetPipelineState )(
- ID3D12GraphicsCommandList * This,
- _In_ ID3D12PipelineState *pPipelineState);
-
- void ( STDMETHODCALLTYPE *ResourceBarrier )(
- ID3D12GraphicsCommandList * This,
- _In_ UINT NumBarriers,
- _In_reads_(NumBarriers) const D3D12_RESOURCE_BARRIER *pBarriers);
-
- void ( STDMETHODCALLTYPE *ExecuteBundle )(
- ID3D12GraphicsCommandList * This,
- _In_ ID3D12GraphicsCommandList *pCommandList);
-
- void ( STDMETHODCALLTYPE *SetDescriptorHeaps )(
- ID3D12GraphicsCommandList * This,
- _In_ UINT NumDescriptorHeaps,
- _In_reads_(NumDescriptorHeaps) ID3D12DescriptorHeap *const *ppDescriptorHeaps);
-
- void ( STDMETHODCALLTYPE *SetComputeRootSignature )(
- ID3D12GraphicsCommandList * This,
- _In_opt_ ID3D12RootSignature *pRootSignature);
-
- void ( STDMETHODCALLTYPE *SetGraphicsRootSignature )(
- ID3D12GraphicsCommandList * This,
- _In_opt_ ID3D12RootSignature *pRootSignature);
-
- void ( STDMETHODCALLTYPE *SetComputeRootDescriptorTable )(
- ID3D12GraphicsCommandList * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor);
-
- void ( STDMETHODCALLTYPE *SetGraphicsRootDescriptorTable )(
- ID3D12GraphicsCommandList * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor);
-
- void ( STDMETHODCALLTYPE *SetComputeRoot32BitConstant )(
- ID3D12GraphicsCommandList * This,
- _In_ UINT RootParameterIndex,
- _In_ UINT SrcData,
- _In_ UINT DestOffsetIn32BitValues);
-
- void ( STDMETHODCALLTYPE *SetGraphicsRoot32BitConstant )(
- ID3D12GraphicsCommandList * This,
- _In_ UINT RootParameterIndex,
- _In_ UINT SrcData,
- _In_ UINT DestOffsetIn32BitValues);
-
- void ( STDMETHODCALLTYPE *SetComputeRoot32BitConstants )(
- ID3D12GraphicsCommandList * This,
- _In_ UINT RootParameterIndex,
- _In_ UINT Num32BitValuesToSet,
- _In_reads_(Num32BitValuesToSet*sizeof(UINT)) const void *pSrcData,
- _In_ UINT DestOffsetIn32BitValues);
-
- void ( STDMETHODCALLTYPE *SetGraphicsRoot32BitConstants )(
- ID3D12GraphicsCommandList * This,
- _In_ UINT RootParameterIndex,
- _In_ UINT Num32BitValuesToSet,
- _In_reads_(Num32BitValuesToSet*sizeof(UINT)) const void *pSrcData,
- _In_ UINT DestOffsetIn32BitValues);
-
- void ( STDMETHODCALLTYPE *SetComputeRootConstantBufferView )(
- ID3D12GraphicsCommandList * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
-
- void ( STDMETHODCALLTYPE *SetGraphicsRootConstantBufferView )(
- ID3D12GraphicsCommandList * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
-
- void ( STDMETHODCALLTYPE *SetComputeRootShaderResourceView )(
- ID3D12GraphicsCommandList * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
-
- void ( STDMETHODCALLTYPE *SetGraphicsRootShaderResourceView )(
- ID3D12GraphicsCommandList * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
-
- void ( STDMETHODCALLTYPE *SetComputeRootUnorderedAccessView )(
- ID3D12GraphicsCommandList * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
-
- void ( STDMETHODCALLTYPE *SetGraphicsRootUnorderedAccessView )(
- ID3D12GraphicsCommandList * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
-
- void ( STDMETHODCALLTYPE *IASetIndexBuffer )(
- ID3D12GraphicsCommandList * This,
- _In_opt_ const D3D12_INDEX_BUFFER_VIEW *pView);
-
- void ( STDMETHODCALLTYPE *IASetVertexBuffers )(
- ID3D12GraphicsCommandList * This,
- _In_ UINT StartSlot,
- _In_ UINT NumViews,
- _In_reads_opt_(NumViews) const D3D12_VERTEX_BUFFER_VIEW *pViews);
-
- void ( STDMETHODCALLTYPE *SOSetTargets )(
- ID3D12GraphicsCommandList * This,
- _In_ UINT StartSlot,
- _In_ UINT NumViews,
- _In_reads_opt_(NumViews) const D3D12_STREAM_OUTPUT_BUFFER_VIEW *pViews);
-
- 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);
-
- 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);
-
- 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);
-
- 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);
-
- 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);
-
- void ( STDMETHODCALLTYPE *DiscardResource )(
- ID3D12GraphicsCommandList * This,
- _In_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_DISCARD_REGION *pRegion);
-
- void ( STDMETHODCALLTYPE *BeginQuery )(
- ID3D12GraphicsCommandList * This,
- _In_ ID3D12QueryHeap *pQueryHeap,
- _In_ D3D12_QUERY_TYPE Type,
- _In_ UINT Index);
-
- void ( STDMETHODCALLTYPE *EndQuery )(
- ID3D12GraphicsCommandList * This,
- _In_ ID3D12QueryHeap *pQueryHeap,
- _In_ D3D12_QUERY_TYPE Type,
- _In_ UINT Index);
-
- 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);
-
- void ( STDMETHODCALLTYPE *SetPredication )(
- ID3D12GraphicsCommandList * This,
- _In_opt_ ID3D12Resource *pBuffer,
- _In_ UINT64 AlignedBufferOffset,
- _In_ D3D12_PREDICATION_OP Operation);
-
- void ( STDMETHODCALLTYPE *SetMarker )(
- ID3D12GraphicsCommandList * This,
- UINT Metadata,
- _In_reads_bytes_opt_(Size) const void *pData,
- UINT Size);
-
- void ( STDMETHODCALLTYPE *BeginEvent )(
- ID3D12GraphicsCommandList * This,
- UINT Metadata,
- _In_reads_bytes_opt_(Size) const void *pData,
- UINT Size);
-
- void ( STDMETHODCALLTYPE *EndEvent )(
- ID3D12GraphicsCommandList * This);
-
- 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;
-
- };
-
-
- #else /* C style interface */
- typedef struct ID3D12GraphicsCommandList1Vtbl
- {
- BEGIN_INTERFACE
-
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12GraphicsCommandList1 * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12GraphicsCommandList1 * This);
-
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12GraphicsCommandList1 * This);
-
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12GraphicsCommandList1 * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12GraphicsCommandList1 * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12GraphicsCommandList1 * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12GraphicsCommandList1 * This,
- _In_z_ LPCWSTR Name);
-
- HRESULT ( STDMETHODCALLTYPE *GetDevice )(
- ID3D12GraphicsCommandList1 * This,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvDevice);
-
- D3D12_COMMAND_LIST_TYPE ( STDMETHODCALLTYPE *GetType )(
- ID3D12GraphicsCommandList1 * This);
-
- HRESULT ( STDMETHODCALLTYPE *Close )(
- ID3D12GraphicsCommandList1 * This);
-
- HRESULT ( STDMETHODCALLTYPE *Reset )(
- ID3D12GraphicsCommandList1 * This,
- _In_ ID3D12CommandAllocator *pAllocator,
- _In_opt_ ID3D12PipelineState *pInitialState);
-
- void ( STDMETHODCALLTYPE *ClearState )(
- ID3D12GraphicsCommandList1 * This,
- _In_opt_ ID3D12PipelineState *pPipelineState);
-
- void ( STDMETHODCALLTYPE *DrawInstanced )(
- ID3D12GraphicsCommandList1 * This,
- _In_ UINT VertexCountPerInstance,
- _In_ UINT InstanceCount,
- _In_ UINT StartVertexLocation,
- _In_ UINT StartInstanceLocation);
-
- void ( STDMETHODCALLTYPE *DrawIndexedInstanced )(
- ID3D12GraphicsCommandList1 * This,
- _In_ UINT IndexCountPerInstance,
- _In_ UINT InstanceCount,
- _In_ UINT StartIndexLocation,
- _In_ INT BaseVertexLocation,
- _In_ UINT StartInstanceLocation);
-
- void ( STDMETHODCALLTYPE *Dispatch )(
- ID3D12GraphicsCommandList1 * This,
- _In_ UINT ThreadGroupCountX,
- _In_ UINT ThreadGroupCountY,
- _In_ UINT ThreadGroupCountZ);
-
- void ( STDMETHODCALLTYPE *CopyBufferRegion )(
- ID3D12GraphicsCommandList1 * This,
- _In_ ID3D12Resource *pDstBuffer,
- UINT64 DstOffset,
- _In_ ID3D12Resource *pSrcBuffer,
- UINT64 SrcOffset,
- UINT64 NumBytes);
-
- 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);
-
- void ( STDMETHODCALLTYPE *CopyResource )(
- ID3D12GraphicsCommandList1 * This,
- _In_ ID3D12Resource *pDstResource,
- _In_ ID3D12Resource *pSrcResource);
-
- 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);
-
- void ( STDMETHODCALLTYPE *ResolveSubresource )(
- ID3D12GraphicsCommandList1 * This,
- _In_ ID3D12Resource *pDstResource,
- _In_ UINT DstSubresource,
- _In_ ID3D12Resource *pSrcResource,
- _In_ UINT SrcSubresource,
- _In_ DXGI_FORMAT Format);
-
- void ( STDMETHODCALLTYPE *IASetPrimitiveTopology )(
- ID3D12GraphicsCommandList1 * This,
- _In_ D3D12_PRIMITIVE_TOPOLOGY PrimitiveTopology);
-
- 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);
-
- 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);
-
- void ( STDMETHODCALLTYPE *OMSetBlendFactor )(
- ID3D12GraphicsCommandList1 * This,
- _In_opt_ const FLOAT BlendFactor[ 4 ]);
-
- void ( STDMETHODCALLTYPE *OMSetStencilRef )(
- ID3D12GraphicsCommandList1 * This,
- _In_ UINT StencilRef);
-
- void ( STDMETHODCALLTYPE *SetPipelineState )(
- ID3D12GraphicsCommandList1 * This,
- _In_ ID3D12PipelineState *pPipelineState);
-
- void ( STDMETHODCALLTYPE *ResourceBarrier )(
- ID3D12GraphicsCommandList1 * This,
- _In_ UINT NumBarriers,
- _In_reads_(NumBarriers) const D3D12_RESOURCE_BARRIER *pBarriers);
-
- void ( STDMETHODCALLTYPE *ExecuteBundle )(
- ID3D12GraphicsCommandList1 * This,
- _In_ ID3D12GraphicsCommandList *pCommandList);
-
- void ( STDMETHODCALLTYPE *SetDescriptorHeaps )(
- ID3D12GraphicsCommandList1 * This,
- _In_ UINT NumDescriptorHeaps,
- _In_reads_(NumDescriptorHeaps) ID3D12DescriptorHeap *const *ppDescriptorHeaps);
-
- void ( STDMETHODCALLTYPE *SetComputeRootSignature )(
- ID3D12GraphicsCommandList1 * This,
- _In_opt_ ID3D12RootSignature *pRootSignature);
-
- void ( STDMETHODCALLTYPE *SetGraphicsRootSignature )(
- ID3D12GraphicsCommandList1 * This,
- _In_opt_ ID3D12RootSignature *pRootSignature);
-
- void ( STDMETHODCALLTYPE *SetComputeRootDescriptorTable )(
- ID3D12GraphicsCommandList1 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor);
-
- void ( STDMETHODCALLTYPE *SetGraphicsRootDescriptorTable )(
- ID3D12GraphicsCommandList1 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor);
-
- void ( STDMETHODCALLTYPE *SetComputeRoot32BitConstant )(
- ID3D12GraphicsCommandList1 * This,
- _In_ UINT RootParameterIndex,
- _In_ UINT SrcData,
- _In_ UINT DestOffsetIn32BitValues);
-
- void ( STDMETHODCALLTYPE *SetGraphicsRoot32BitConstant )(
- ID3D12GraphicsCommandList1 * This,
- _In_ UINT RootParameterIndex,
- _In_ UINT SrcData,
- _In_ UINT DestOffsetIn32BitValues);
-
- void ( STDMETHODCALLTYPE *SetComputeRoot32BitConstants )(
- ID3D12GraphicsCommandList1 * This,
- _In_ UINT RootParameterIndex,
- _In_ UINT Num32BitValuesToSet,
- _In_reads_(Num32BitValuesToSet*sizeof(UINT)) const void *pSrcData,
- _In_ UINT DestOffsetIn32BitValues);
-
- void ( STDMETHODCALLTYPE *SetGraphicsRoot32BitConstants )(
- ID3D12GraphicsCommandList1 * This,
- _In_ UINT RootParameterIndex,
- _In_ UINT Num32BitValuesToSet,
- _In_reads_(Num32BitValuesToSet*sizeof(UINT)) const void *pSrcData,
- _In_ UINT DestOffsetIn32BitValues);
-
- void ( STDMETHODCALLTYPE *SetComputeRootConstantBufferView )(
- ID3D12GraphicsCommandList1 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
-
- void ( STDMETHODCALLTYPE *SetGraphicsRootConstantBufferView )(
- ID3D12GraphicsCommandList1 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
-
- void ( STDMETHODCALLTYPE *SetComputeRootShaderResourceView )(
- ID3D12GraphicsCommandList1 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
-
- void ( STDMETHODCALLTYPE *SetGraphicsRootShaderResourceView )(
- ID3D12GraphicsCommandList1 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
-
- void ( STDMETHODCALLTYPE *SetComputeRootUnorderedAccessView )(
- ID3D12GraphicsCommandList1 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
-
- void ( STDMETHODCALLTYPE *SetGraphicsRootUnorderedAccessView )(
- ID3D12GraphicsCommandList1 * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
-
- void ( STDMETHODCALLTYPE *IASetIndexBuffer )(
- ID3D12GraphicsCommandList1 * This,
- _In_opt_ const D3D12_INDEX_BUFFER_VIEW *pView);
-
- void ( STDMETHODCALLTYPE *IASetVertexBuffers )(
- ID3D12GraphicsCommandList1 * This,
- _In_ UINT StartSlot,
- _In_ UINT NumViews,
- _In_reads_opt_(NumViews) const D3D12_VERTEX_BUFFER_VIEW *pViews);
-
- void ( STDMETHODCALLTYPE *SOSetTargets )(
- ID3D12GraphicsCommandList1 * This,
- _In_ UINT StartSlot,
- _In_ UINT NumViews,
- _In_reads_opt_(NumViews) const D3D12_STREAM_OUTPUT_BUFFER_VIEW *pViews);
-
- 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);
-
- 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);
-
- 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);
-
- 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);
-
- 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);
-
- void ( STDMETHODCALLTYPE *DiscardResource )(
- ID3D12GraphicsCommandList1 * This,
- _In_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_DISCARD_REGION *pRegion);
-
- void ( STDMETHODCALLTYPE *BeginQuery )(
- ID3D12GraphicsCommandList1 * This,
- _In_ ID3D12QueryHeap *pQueryHeap,
- _In_ D3D12_QUERY_TYPE Type,
- _In_ UINT Index);
-
- void ( STDMETHODCALLTYPE *EndQuery )(
- ID3D12GraphicsCommandList1 * This,
- _In_ ID3D12QueryHeap *pQueryHeap,
- _In_ D3D12_QUERY_TYPE Type,
- _In_ UINT Index);
-
- 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);
-
- void ( STDMETHODCALLTYPE *SetPredication )(
- ID3D12GraphicsCommandList1 * This,
- _In_opt_ ID3D12Resource *pBuffer,
- _In_ UINT64 AlignedBufferOffset,
- _In_ D3D12_PREDICATION_OP Operation);
-
- void ( STDMETHODCALLTYPE *SetMarker )(
- ID3D12GraphicsCommandList1 * This,
- UINT Metadata,
- _In_reads_bytes_opt_(Size) const void *pData,
- UINT Size);
-
- void ( STDMETHODCALLTYPE *BeginEvent )(
- ID3D12GraphicsCommandList1 * This,
- UINT Metadata,
- _In_reads_bytes_opt_(Size) const void *pData,
- UINT Size);
-
- void ( STDMETHODCALLTYPE *EndEvent )(
- ID3D12GraphicsCommandList1 * This);
-
- void ( STDMETHODCALLTYPE *ExecuteIndirect )(
- ID3D12GraphicsCommandList1 * This,
- _In_ ID3D12CommandSignature *pCommandSignature,
- _In_ UINT MaxCommandCount,
- _In_ ID3D12Resource *pArgumentBuffer,
- _In_ UINT64 ArgumentBufferOffset,
- _In_opt_ ID3D12Resource *pCountBuffer,
- _In_ UINT64 CountBufferOffset);
-
- 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);
-
- 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);
-
- void ( STDMETHODCALLTYPE *OMSetDepthBounds )(
- ID3D12GraphicsCommandList1 * This,
- _In_ FLOAT Min,
- _In_ FLOAT Max);
-
- void ( STDMETHODCALLTYPE *SetSamplePositions )(
- ID3D12GraphicsCommandList1 * This,
- _In_ UINT NumSamplesPerPixel,
- _In_ UINT NumPixels,
- _In_reads_(NumSamplesPerPixel*NumPixels) D3D12_SAMPLE_POSITION *pSamplePositions);
-
- 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);
-
- 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) )
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __ID3D12GraphicsCommandList1_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;
-
- virtual D3D12_COMMAND_QUEUE_DESC STDMETHODCALLTYPE GetDesc( void) = 0;
-
- };
-
-
- #else /* C style interface */
- typedef struct ID3D12CommandQueueVtbl
- {
- BEGIN_INTERFACE
-
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12CommandQueue * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12CommandQueue * This);
-
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12CommandQueue * This);
-
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12CommandQueue * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12CommandQueue * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12CommandQueue * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12CommandQueue * This,
- _In_z_ LPCWSTR Name);
-
- HRESULT ( STDMETHODCALLTYPE *GetDevice )(
- ID3D12CommandQueue * This,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvDevice);
-
- 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);
-
- 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);
-
- void ( STDMETHODCALLTYPE *ExecuteCommandLists )(
- ID3D12CommandQueue * This,
- _In_ UINT NumCommandLists,
- _In_reads_(NumCommandLists) ID3D12CommandList *const *ppCommandLists);
-
- void ( STDMETHODCALLTYPE *SetMarker )(
- ID3D12CommandQueue * This,
- UINT Metadata,
- _In_reads_bytes_opt_(Size) const void *pData,
- UINT Size);
-
- void ( STDMETHODCALLTYPE *BeginEvent )(
- ID3D12CommandQueue * This,
- UINT Metadata,
- _In_reads_bytes_opt_(Size) const void *pData,
- UINT Size);
-
- void ( STDMETHODCALLTYPE *EndEvent )(
- ID3D12CommandQueue * This);
-
- HRESULT ( STDMETHODCALLTYPE *Signal )(
- ID3D12CommandQueue * This,
- ID3D12Fence *pFence,
- UINT64 Value);
-
- HRESULT ( STDMETHODCALLTYPE *Wait )(
- ID3D12CommandQueue * This,
- ID3D12Fence *pFence,
- UINT64 Value);
-
- HRESULT ( STDMETHODCALLTYPE *GetTimestampFrequency )(
- ID3D12CommandQueue * This,
- _Out_ UINT64 *pFrequency);
-
- HRESULT ( STDMETHODCALLTYPE *GetClockCalibration )(
- ID3D12CommandQueue * This,
- _Out_ UINT64 *pGpuTimestamp,
- _Out_ UINT64 *pCpuTimestamp);
-
- D3D12_COMMAND_QUEUE_DESC ( STDMETHODCALLTYPE *GetDesc )(
- ID3D12CommandQueue * This);
-
- 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) )
- #define ID3D12CommandQueue_GetDesc(This) \
- ( (This)->lpVtbl -> GetDesc(This) )
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __ID3D12CommandQueue_INTERFACE_DEFINED__ */
- /* interface __MIDL_itf_d3d12_0000_0018 */
- /* [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_0018_v0_0_c_ifspec;
- extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0018_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;
-
- virtual D3D12_RESOURCE_ALLOCATION_INFO STDMETHODCALLTYPE GetResourceAllocationInfo(
- _In_ UINT visibleMask,
- _In_ UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs) = 0;
-
- virtual D3D12_HEAP_PROPERTIES STDMETHODCALLTYPE GetCustomHeapProperties(
- _In_ UINT nodeMask,
- D3D12_HEAP_TYPE heapType) = 0;
-
- 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;
-
- virtual LUID STDMETHODCALLTYPE GetAdapterLuid( void) = 0;
-
- };
-
-
- #else /* C style interface */
- typedef struct ID3D12DeviceVtbl
- {
- BEGIN_INTERFACE
-
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12Device * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12Device * This);
-
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12Device * This);
-
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12Device * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12Device * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12Device * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12Device * This,
- _In_z_ LPCWSTR Name);
-
- UINT ( STDMETHODCALLTYPE *GetNodeCount )(
- ID3D12Device * This);
-
- HRESULT ( STDMETHODCALLTYPE *CreateCommandQueue )(
- ID3D12Device * This,
- _In_ const D3D12_COMMAND_QUEUE_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppCommandQueue);
-
- HRESULT ( STDMETHODCALLTYPE *CreateCommandAllocator )(
- ID3D12Device * This,
- _In_ D3D12_COMMAND_LIST_TYPE type,
- REFIID riid,
- _COM_Outptr_ void **ppCommandAllocator);
-
- HRESULT ( STDMETHODCALLTYPE *CreateGraphicsPipelineState )(
- ID3D12Device * This,
- _In_ const D3D12_GRAPHICS_PIPELINE_STATE_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineState);
-
- HRESULT ( STDMETHODCALLTYPE *CreateComputePipelineState )(
- ID3D12Device * This,
- _In_ const D3D12_COMPUTE_PIPELINE_STATE_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineState);
-
- 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);
-
- HRESULT ( STDMETHODCALLTYPE *CheckFeatureSupport )(
- ID3D12Device * This,
- D3D12_FEATURE Feature,
- _Inout_updates_bytes_(FeatureSupportDataSize) void *pFeatureSupportData,
- UINT FeatureSupportDataSize);
-
- HRESULT ( STDMETHODCALLTYPE *CreateDescriptorHeap )(
- ID3D12Device * This,
- _In_ const D3D12_DESCRIPTOR_HEAP_DESC *pDescriptorHeapDesc,
- REFIID riid,
- _COM_Outptr_ void **ppvHeap);
-
- UINT ( STDMETHODCALLTYPE *GetDescriptorHandleIncrementSize )(
- ID3D12Device * This,
- _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapType);
-
- HRESULT ( STDMETHODCALLTYPE *CreateRootSignature )(
- ID3D12Device * This,
- _In_ UINT nodeMask,
- _In_reads_(blobLengthInBytes) const void *pBlobWithRootSignature,
- _In_ SIZE_T blobLengthInBytes,
- REFIID riid,
- _COM_Outptr_ void **ppvRootSignature);
-
- void ( STDMETHODCALLTYPE *CreateConstantBufferView )(
- ID3D12Device * This,
- _In_opt_ const D3D12_CONSTANT_BUFFER_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- void ( STDMETHODCALLTYPE *CreateShaderResourceView )(
- ID3D12Device * This,
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_SHADER_RESOURCE_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- 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);
-
- void ( STDMETHODCALLTYPE *CreateRenderTargetView )(
- ID3D12Device * This,
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_RENDER_TARGET_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- void ( STDMETHODCALLTYPE *CreateDepthStencilView )(
- ID3D12Device * This,
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_DEPTH_STENCIL_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- void ( STDMETHODCALLTYPE *CreateSampler )(
- ID3D12Device * This,
- _In_ const D3D12_SAMPLER_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- 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);
-
- 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);
-
- D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo )(
- ID3D12Device * This,
- _In_ UINT visibleMask,
- _In_ UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs);
-
- D3D12_HEAP_PROPERTIES ( STDMETHODCALLTYPE *GetCustomHeapProperties )(
- ID3D12Device * This,
- _In_ UINT nodeMask,
- D3D12_HEAP_TYPE heapType);
-
- 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);
-
- HRESULT ( STDMETHODCALLTYPE *CreateHeap )(
- ID3D12Device * This,
- _In_ const D3D12_HEAP_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvHeap);
-
- 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);
-
- 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);
-
- HRESULT ( STDMETHODCALLTYPE *CreateSharedHandle )(
- ID3D12Device * This,
- _In_ ID3D12DeviceChild *pObject,
- _In_opt_ const SECURITY_ATTRIBUTES *pAttributes,
- DWORD Access,
- _In_opt_ LPCWSTR Name,
- _Out_ HANDLE *pHandle);
-
- HRESULT ( STDMETHODCALLTYPE *OpenSharedHandle )(
- ID3D12Device * This,
- _In_ HANDLE NTHandle,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvObj);
-
- HRESULT ( STDMETHODCALLTYPE *OpenSharedHandleByName )(
- ID3D12Device * This,
- _In_ LPCWSTR Name,
- DWORD Access,
- /* [annotation][out] */
- _Out_ HANDLE *pNTHandle);
-
- HRESULT ( STDMETHODCALLTYPE *MakeResident )(
- ID3D12Device * This,
- UINT NumObjects,
- _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects);
-
- HRESULT ( STDMETHODCALLTYPE *Evict )(
- ID3D12Device * This,
- UINT NumObjects,
- _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects);
-
- HRESULT ( STDMETHODCALLTYPE *CreateFence )(
- ID3D12Device * This,
- UINT64 InitialValue,
- D3D12_FENCE_FLAGS Flags,
- REFIID riid,
- _COM_Outptr_ void **ppFence);
-
- HRESULT ( STDMETHODCALLTYPE *GetDeviceRemovedReason )(
- ID3D12Device * This);
-
- 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);
-
- HRESULT ( STDMETHODCALLTYPE *CreateQueryHeap )(
- ID3D12Device * This,
- _In_ const D3D12_QUERY_HEAP_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvHeap);
-
- HRESULT ( STDMETHODCALLTYPE *SetStablePowerState )(
- ID3D12Device * This,
- BOOL Enable);
-
- HRESULT ( STDMETHODCALLTYPE *CreateCommandSignature )(
- ID3D12Device * This,
- _In_ const D3D12_COMMAND_SIGNATURE_DESC *pDesc,
- _In_opt_ ID3D12RootSignature *pRootSignature,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvCommandSignature);
-
- 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);
-
- LUID ( STDMETHODCALLTYPE *GetAdapterLuid )(
- ID3D12Device * This);
-
- 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) )
- #define ID3D12Device_GetResourceAllocationInfo(This,visibleMask,numResourceDescs,pResourceDescs) \
- ( (This)->lpVtbl -> GetResourceAllocationInfo(This,visibleMask,numResourceDescs,pResourceDescs) )
- #define ID3D12Device_GetCustomHeapProperties(This,nodeMask,heapType) \
- ( (This)->lpVtbl -> GetCustomHeapProperties(This,nodeMask,heapType) )
- #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) )
- #define ID3D12Device_GetAdapterLuid(This) \
- ( (This)->lpVtbl -> GetAdapterLuid(This) )
- #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
-
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12PipelineLibrary * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12PipelineLibrary * This);
-
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12PipelineLibrary * This);
-
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12PipelineLibrary * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12PipelineLibrary * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12PipelineLibrary * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12PipelineLibrary * This,
- _In_z_ LPCWSTR Name);
-
- HRESULT ( STDMETHODCALLTYPE *GetDevice )(
- ID3D12PipelineLibrary * This,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvDevice);
-
- HRESULT ( STDMETHODCALLTYPE *StorePipeline )(
- ID3D12PipelineLibrary * This,
- _In_opt_ LPCWSTR pName,
- _In_ ID3D12PipelineState *pPipeline);
-
- HRESULT ( STDMETHODCALLTYPE *LoadGraphicsPipeline )(
- ID3D12PipelineLibrary * This,
- _In_ LPCWSTR pName,
- _In_ const D3D12_GRAPHICS_PIPELINE_STATE_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineState);
-
- HRESULT ( STDMETHODCALLTYPE *LoadComputePipeline )(
- ID3D12PipelineLibrary * This,
- _In_ LPCWSTR pName,
- _In_ const D3D12_COMPUTE_PIPELINE_STATE_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineState);
-
- SIZE_T ( STDMETHODCALLTYPE *GetSerializedSize )(
- ID3D12PipelineLibrary * This);
-
- 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
-
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12PipelineLibrary1 * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12PipelineLibrary1 * This);
-
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12PipelineLibrary1 * This);
-
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12PipelineLibrary1 * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12PipelineLibrary1 * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12PipelineLibrary1 * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12PipelineLibrary1 * This,
- _In_z_ LPCWSTR Name);
-
- HRESULT ( STDMETHODCALLTYPE *GetDevice )(
- ID3D12PipelineLibrary1 * This,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvDevice);
-
- HRESULT ( STDMETHODCALLTYPE *StorePipeline )(
- ID3D12PipelineLibrary1 * This,
- _In_opt_ LPCWSTR pName,
- _In_ ID3D12PipelineState *pPipeline);
-
- HRESULT ( STDMETHODCALLTYPE *LoadGraphicsPipeline )(
- ID3D12PipelineLibrary1 * This,
- _In_ LPCWSTR pName,
- _In_ const D3D12_GRAPHICS_PIPELINE_STATE_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineState);
-
- HRESULT ( STDMETHODCALLTYPE *LoadComputePipeline )(
- ID3D12PipelineLibrary1 * This,
- _In_ LPCWSTR pName,
- _In_ const D3D12_COMPUTE_PIPELINE_STATE_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineState);
-
- SIZE_T ( STDMETHODCALLTYPE *GetSerializedSize )(
- ID3D12PipelineLibrary1 * This);
-
- HRESULT ( STDMETHODCALLTYPE *Serialize )(
- ID3D12PipelineLibrary1 * This,
- _Out_writes_(DataSizeInBytes) void *pData,
- SIZE_T DataSizeInBytes);
-
- 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_0021 */
- /* [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_0021_v0_0_c_ifspec;
- extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0021_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
-
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12Device1 * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12Device1 * This);
-
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12Device1 * This);
-
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12Device1 * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12Device1 * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12Device1 * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12Device1 * This,
- _In_z_ LPCWSTR Name);
-
- UINT ( STDMETHODCALLTYPE *GetNodeCount )(
- ID3D12Device1 * This);
-
- HRESULT ( STDMETHODCALLTYPE *CreateCommandQueue )(
- ID3D12Device1 * This,
- _In_ const D3D12_COMMAND_QUEUE_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppCommandQueue);
-
- HRESULT ( STDMETHODCALLTYPE *CreateCommandAllocator )(
- ID3D12Device1 * This,
- _In_ D3D12_COMMAND_LIST_TYPE type,
- REFIID riid,
- _COM_Outptr_ void **ppCommandAllocator);
-
- HRESULT ( STDMETHODCALLTYPE *CreateGraphicsPipelineState )(
- ID3D12Device1 * This,
- _In_ const D3D12_GRAPHICS_PIPELINE_STATE_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineState);
-
- HRESULT ( STDMETHODCALLTYPE *CreateComputePipelineState )(
- ID3D12Device1 * This,
- _In_ const D3D12_COMPUTE_PIPELINE_STATE_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineState);
-
- 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);
-
- HRESULT ( STDMETHODCALLTYPE *CheckFeatureSupport )(
- ID3D12Device1 * This,
- D3D12_FEATURE Feature,
- _Inout_updates_bytes_(FeatureSupportDataSize) void *pFeatureSupportData,
- UINT FeatureSupportDataSize);
-
- HRESULT ( STDMETHODCALLTYPE *CreateDescriptorHeap )(
- ID3D12Device1 * This,
- _In_ const D3D12_DESCRIPTOR_HEAP_DESC *pDescriptorHeapDesc,
- REFIID riid,
- _COM_Outptr_ void **ppvHeap);
-
- UINT ( STDMETHODCALLTYPE *GetDescriptorHandleIncrementSize )(
- ID3D12Device1 * This,
- _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapType);
-
- HRESULT ( STDMETHODCALLTYPE *CreateRootSignature )(
- ID3D12Device1 * This,
- _In_ UINT nodeMask,
- _In_reads_(blobLengthInBytes) const void *pBlobWithRootSignature,
- _In_ SIZE_T blobLengthInBytes,
- REFIID riid,
- _COM_Outptr_ void **ppvRootSignature);
-
- void ( STDMETHODCALLTYPE *CreateConstantBufferView )(
- ID3D12Device1 * This,
- _In_opt_ const D3D12_CONSTANT_BUFFER_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- void ( STDMETHODCALLTYPE *CreateShaderResourceView )(
- ID3D12Device1 * This,
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_SHADER_RESOURCE_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- 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);
-
- void ( STDMETHODCALLTYPE *CreateRenderTargetView )(
- ID3D12Device1 * This,
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_RENDER_TARGET_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- void ( STDMETHODCALLTYPE *CreateDepthStencilView )(
- ID3D12Device1 * This,
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_DEPTH_STENCIL_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- void ( STDMETHODCALLTYPE *CreateSampler )(
- ID3D12Device1 * This,
- _In_ const D3D12_SAMPLER_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- 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);
-
- 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);
-
- D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo )(
- ID3D12Device1 * This,
- _In_ UINT visibleMask,
- _In_ UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs);
-
- D3D12_HEAP_PROPERTIES ( STDMETHODCALLTYPE *GetCustomHeapProperties )(
- ID3D12Device1 * This,
- _In_ UINT nodeMask,
- D3D12_HEAP_TYPE heapType);
-
- 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);
-
- HRESULT ( STDMETHODCALLTYPE *CreateHeap )(
- ID3D12Device1 * This,
- _In_ const D3D12_HEAP_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvHeap);
-
- 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);
-
- 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);
-
- HRESULT ( STDMETHODCALLTYPE *CreateSharedHandle )(
- ID3D12Device1 * This,
- _In_ ID3D12DeviceChild *pObject,
- _In_opt_ const SECURITY_ATTRIBUTES *pAttributes,
- DWORD Access,
- _In_opt_ LPCWSTR Name,
- _Out_ HANDLE *pHandle);
-
- HRESULT ( STDMETHODCALLTYPE *OpenSharedHandle )(
- ID3D12Device1 * This,
- _In_ HANDLE NTHandle,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvObj);
-
- HRESULT ( STDMETHODCALLTYPE *OpenSharedHandleByName )(
- ID3D12Device1 * This,
- _In_ LPCWSTR Name,
- DWORD Access,
- /* [annotation][out] */
- _Out_ HANDLE *pNTHandle);
-
- HRESULT ( STDMETHODCALLTYPE *MakeResident )(
- ID3D12Device1 * This,
- UINT NumObjects,
- _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects);
-
- HRESULT ( STDMETHODCALLTYPE *Evict )(
- ID3D12Device1 * This,
- UINT NumObjects,
- _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects);
-
- HRESULT ( STDMETHODCALLTYPE *CreateFence )(
- ID3D12Device1 * This,
- UINT64 InitialValue,
- D3D12_FENCE_FLAGS Flags,
- REFIID riid,
- _COM_Outptr_ void **ppFence);
-
- HRESULT ( STDMETHODCALLTYPE *GetDeviceRemovedReason )(
- ID3D12Device1 * This);
-
- 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);
-
- HRESULT ( STDMETHODCALLTYPE *CreateQueryHeap )(
- ID3D12Device1 * This,
- _In_ const D3D12_QUERY_HEAP_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvHeap);
-
- HRESULT ( STDMETHODCALLTYPE *SetStablePowerState )(
- ID3D12Device1 * This,
- BOOL Enable);
-
- HRESULT ( STDMETHODCALLTYPE *CreateCommandSignature )(
- ID3D12Device1 * This,
- _In_ const D3D12_COMMAND_SIGNATURE_DESC *pDesc,
- _In_opt_ ID3D12RootSignature *pRootSignature,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvCommandSignature);
-
- 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);
-
- LUID ( STDMETHODCALLTYPE *GetAdapterLuid )(
- ID3D12Device1 * This);
-
- HRESULT ( STDMETHODCALLTYPE *CreatePipelineLibrary )(
- ID3D12Device1 * This,
- _In_reads_(BlobLength) const void *pLibraryBlob,
- SIZE_T BlobLength,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineLibrary);
-
- 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);
-
- 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) )
- #define ID3D12Device1_GetResourceAllocationInfo(This,visibleMask,numResourceDescs,pResourceDescs) \
- ( (This)->lpVtbl -> GetResourceAllocationInfo(This,visibleMask,numResourceDescs,pResourceDescs) )
- #define ID3D12Device1_GetCustomHeapProperties(This,nodeMask,heapType) \
- ( (This)->lpVtbl -> GetCustomHeapProperties(This,nodeMask,heapType) )
- #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) )
- #define ID3D12Device1_GetAdapterLuid(This) \
- ( (This)->lpVtbl -> GetAdapterLuid(This) )
- #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
-
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12Device2 * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12Device2 * This);
-
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12Device2 * This);
-
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12Device2 * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
-
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12Device2 * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
-
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12Device2 * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
-
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12Device2 * This,
- _In_z_ LPCWSTR Name);
-
- UINT ( STDMETHODCALLTYPE *GetNodeCount )(
- ID3D12Device2 * This);
-
- HRESULT ( STDMETHODCALLTYPE *CreateCommandQueue )(
- ID3D12Device2 * This,
- _In_ const D3D12_COMMAND_QUEUE_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppCommandQueue);
-
- HRESULT ( STDMETHODCALLTYPE *CreateCommandAllocator )(
- ID3D12Device2 * This,
- _In_ D3D12_COMMAND_LIST_TYPE type,
- REFIID riid,
- _COM_Outptr_ void **ppCommandAllocator);
-
- HRESULT ( STDMETHODCALLTYPE *CreateGraphicsPipelineState )(
- ID3D12Device2 * This,
- _In_ const D3D12_GRAPHICS_PIPELINE_STATE_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineState);
-
- HRESULT ( STDMETHODCALLTYPE *CreateComputePipelineState )(
- ID3D12Device2 * This,
- _In_ const D3D12_COMPUTE_PIPELINE_STATE_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineState);
-
- 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);
-
- HRESULT ( STDMETHODCALLTYPE *CheckFeatureSupport )(
- ID3D12Device2 * This,
- D3D12_FEATURE Feature,
- _Inout_updates_bytes_(FeatureSupportDataSize) void *pFeatureSupportData,
- UINT FeatureSupportDataSize);
-
- HRESULT ( STDMETHODCALLTYPE *CreateDescriptorHeap )(
- ID3D12Device2 * This,
- _In_ const D3D12_DESCRIPTOR_HEAP_DESC *pDescriptorHeapDesc,
- REFIID riid,
- _COM_Outptr_ void **ppvHeap);
-
- UINT ( STDMETHODCALLTYPE *GetDescriptorHandleIncrementSize )(
- ID3D12Device2 * This,
- _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapType);
-
- HRESULT ( STDMETHODCALLTYPE *CreateRootSignature )(
- ID3D12Device2 * This,
- _In_ UINT nodeMask,
- _In_reads_(blobLengthInBytes) const void *pBlobWithRootSignature,
- _In_ SIZE_T blobLengthInBytes,
- REFIID riid,
- _COM_Outptr_ void **ppvRootSignature);
-
- void ( STDMETHODCALLTYPE *CreateConstantBufferView )(
- ID3D12Device2 * This,
- _In_opt_ const D3D12_CONSTANT_BUFFER_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- void ( STDMETHODCALLTYPE *CreateShaderResourceView )(
- ID3D12Device2 * This,
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_SHADER_RESOURCE_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- 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);
-
- void ( STDMETHODCALLTYPE *CreateRenderTargetView )(
- ID3D12Device2 * This,
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_RENDER_TARGET_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- void ( STDMETHODCALLTYPE *CreateDepthStencilView )(
- ID3D12Device2 * This,
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_DEPTH_STENCIL_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- void ( STDMETHODCALLTYPE *CreateSampler )(
- ID3D12Device2 * This,
- _In_ const D3D12_SAMPLER_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
-
- 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);
-
- 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);
-
- D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo )(
- ID3D12Device2 * This,
- _In_ UINT visibleMask,
- _In_ UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs);
-
- D3D12_HEAP_PROPERTIES ( STDMETHODCALLTYPE *GetCustomHeapProperties )(
- ID3D12Device2 * This,
- _In_ UINT nodeMask,
- D3D12_HEAP_TYPE heapType);
-
- 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);
-
- HRESULT ( STDMETHODCALLTYPE *CreateHeap )(
- ID3D12Device2 * This,
- _In_ const D3D12_HEAP_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvHeap);
-
- 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);
-
- 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);
-
- HRESULT ( STDMETHODCALLTYPE *CreateSharedHandle )(
- ID3D12Device2 * This,
- _In_ ID3D12DeviceChild *pObject,
- _In_opt_ const SECURITY_ATTRIBUTES *pAttributes,
- DWORD Access,
- _In_opt_ LPCWSTR Name,
- _Out_ HANDLE *pHandle);
-
- HRESULT ( STDMETHODCALLTYPE *OpenSharedHandle )(
- ID3D12Device2 * This,
- _In_ HANDLE NTHandle,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvObj);
-
- HRESULT ( STDMETHODCALLTYPE *OpenSharedHandleByName )(
- ID3D12Device2 * This,
- _In_ LPCWSTR Name,
- DWORD Access,
- /* [annotation][out] */
- _Out_ HANDLE *pNTHandle);
-
- HRESULT ( STDMETHODCALLTYPE *MakeResident )(
- ID3D12Device2 * This,
- UINT NumObjects,
- _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects);
-
- HRESULT ( STDMETHODCALLTYPE *Evict )(
- ID3D12Device2 * This,
- UINT NumObjects,
- _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects);
-
- HRESULT ( STDMETHODCALLTYPE *CreateFence )(
- ID3D12Device2 * This,
- UINT64 InitialValue,
- D3D12_FENCE_FLAGS Flags,
- REFIID riid,
- _COM_Outptr_ void **ppFence);
-
- HRESULT ( STDMETHODCALLTYPE *GetDeviceRemovedReason )(
- ID3D12Device2 * This);
-
- 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);
-
- HRESULT ( STDMETHODCALLTYPE *CreateQueryHeap )(
- ID3D12Device2 * This,
- _In_ const D3D12_QUERY_HEAP_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvHeap);
-
- HRESULT ( STDMETHODCALLTYPE *SetStablePowerState )(
- ID3D12Device2 * This,
- BOOL Enable);
-
- HRESULT ( STDMETHODCALLTYPE *CreateCommandSignature )(
- ID3D12Device2 * This,
- _In_ const D3D12_COMMAND_SIGNATURE_DESC *pDesc,
- _In_opt_ ID3D12RootSignature *pRootSignature,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvCommandSignature);
-
- 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);
-
- LUID ( STDMETHODCALLTYPE *GetAdapterLuid )(
- ID3D12Device2 * This);
-
- HRESULT ( STDMETHODCALLTYPE *CreatePipelineLibrary )(
- ID3D12Device2 * This,
- _In_reads_(BlobLength) const void *pLibraryBlob,
- SIZE_T BlobLength,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineLibrary);
-
- 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);
-
- HRESULT ( STDMETHODCALLTYPE *SetResidencyPriority )(
- ID3D12Device2 * This,
- UINT NumObjects,
- _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects,
- _In_reads_(NumObjects) const D3D12_RESIDENCY_PRIORITY *pPriorities);
-
- 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) )
- #define ID3D12Device2_GetResourceAllocationInfo(This,visibleMask,numResourceDescs,pResourceDescs) \
- ( (This)->lpVtbl -> GetResourceAllocationInfo(This,visibleMask,numResourceDescs,pResourceDescs) )
- #define ID3D12Device2_GetCustomHeapProperties(This,nodeMask,heapType) \
- ( (This)->lpVtbl -> GetCustomHeapProperties(This,nodeMask,heapType) )
- #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) )
- #define ID3D12Device2_GetAdapterLuid(This) \
- ( (This)->lpVtbl -> GetAdapterLuid(This) )
- #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__ */
- #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
-
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12Tools * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
-
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12Tools * This);
-
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12Tools * This);
-
- void ( STDMETHODCALLTYPE *EnableShaderInstrumentation )(
- ID3D12Tools * This,
- BOOL bEnable);
-
- 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_0024 */
- /* [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_ecount(NumFeatures) const IID* pIIDs,
- __in_ecount_opt(NumFeatures) void* pConfigurationStructs,
- __in_ecount_opt(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 }
- };
- #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
- #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_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_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_ID3D12Tools,0x7071e1f0,0xe84b,0x4b33,0x97,0x4f,0x12,0xfa,0x49,0xde,0x65,0xc5);
- extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0024_v0_0_c_ifspec;
- extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0024_v0_0_s_ifspec;
- /* Additional Prototypes for ALL interfaces */
- /* end of Additional Prototypes */
- #ifdef __cplusplus
- }
- #endif
- #endif
|