/* Ċ Ġ* ĠCopyright ĠL WJ GL . ĠAll Ġrights Ġreserved . Ċ Ġ* ĠLicense Ġterms : Ġhttps :// www . lwjgl . org / license Ċ Ġ* ĠM ACH INE ĠGENERATED ĠFILE , ĠDO ĠNOT ĠEDIT Ċ Ġ*/ Ċ package Ġv ulkan . templates Ċ Ċ import Ġorg . lwjgl . generator .* Ċ import Ġv ulkan .* Ċ Ċ val ĠNV _ sh ading _ rate _ image Ġ= Ġ" NV Shading Rate Image ". native Class VK (" NV _ sh ading _ rate _ image ", Ġtype Ġ= Ġ" device ", Ġpostfix Ġ= Ġ" NV ") Ġ{ ĊĠĠĠ Ġdocumentation Ġ= ĊĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠ ĠThis Ġextension Ġallows Ġapplications Ġto Ġuse Ġa Ġvariable Ġsh ading Ġrate Ġwhen Ġprocessing Ġfragments Ġof Ġraster ized Ġprimitives . ĠBy Ġdefault , ĠVulkan Ġwill Ġspawn Ġone Ġfragment Ġshader Ġfor Ġeach Ġpixel Ġcovered Ġby Ġa Ġprimitive . ĠIn Ġthis Ġextension , Ġapplications Ġcan Ġbind Ġa Ġ< em > sh ading Ġrate Ġimage </ em > Ġthat Ġcan Ġbe Ġused Ġto Ġvary Ġthe Ġnumber Ġof Ġfragment Ġshader Ġinv ocations Ġacross Ġthe Ġframebuffer . ĠSome Ġportions Ġof Ġthe Ġscreen Ġmay Ġbe Ġconfigured Ġto Ġspawn Ġup Ġto Ġ 1 6 Ġfragment Ġshaders Ġfor Ġeach Ġpixel , Ġwhile Ġother Ġportions Ġmay Ġuse Ġa Ġsingle Ġfragment Ġshader Ġinvocation Ġfor Ġa Ġ 4 x 4 Ġblock Ġof Ġpixels . ĠThis Ġcan Ġbe Ġuseful Ġfor Ġuse Ġcases Ġlike Ġeye Ġtracking , Ġwhere Ġthe Ġportion Ġof Ġthe Ġframebuffer Ġthat Ġthe Ġuser Ġis Ġlooking Ġat Ġdirectly Ġcan Ġbe Ġprocessed Ġat Ġhigh Ġfrequency , Ġwhile Ġdist ant Ġcorners Ġof Ġthe Ġimage Ġcan Ġbe Ġprocessed Ġat Ġlower Ġfrequency . ĠEach Ġtex el Ġin Ġthe Ġsh ading Ġrate Ġimage Ġrepresents Ġa Ġfixed - size Ġrectangle Ġin Ġthe Ġframebuffer , Ġcover ing Ġ 1 6 x 1 6 Ġpixels Ġin Ġthe Ġinitial Ġimplementation Ġof Ġthis Ġextension . ĠWhen Ġraster izing Ġa Ġprimitive Ġcover ing Ġone Ġof Ġthese Ġrect angles , Ġthe ĠVulkan Ġimplementation Ġreads Ġa Ġtex el Ġin Ġthe Ġbound Ġsh ading Ġrate Ġimage Ġand Ġlooks Ġup Ġthe Ġfetched Ġvalue Ġin Ġa Ġpalette Ġto Ġdetermine Ġa Ġbase Ġsh ading Ġrate . ĊĊĠĠĠĠĠĠĠ ĠIn Ġaddition Ġto Ġthe ĠAPI Ġsupport Ġcontrolling Ġraster ization , Ġthis Ġextension Ġalso Ġadds ĠVulkan Ġsupport Ġfor Ġthe Ġ< a Ġtarget ="_ blank " Ġhref =" https :// html preview . github . io /? https :// github . com / Kh ronos Group / SPI RV - Registry / blob / master / extensions / NV / SP V _ NV _ sh ading _ rate . html ">{ @ code ĠSP V _ NV _ sh ading _ rate }</ a > Ġextension Ġto ĠSPI R - V . ĠThat Ġextension Ġprovides Ġtwo Ġfragment Ġshader Ġvariable Ġdecor ations Ġthat Ġallow Ġfragment Ġshaders Ġto Ġdetermine Ġthe Ġsh ading Ġrate Ġused Ġfor Ġprocessing Ġthe Ġfragment : ĊĊĠĠĠĠĠĠĠ Ġ< ul > ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ< li >{@ code ĠFragment Size NV }, Ġwhich Ġindicates Ġthe Ġwidth Ġand Ġheight Ġof Ġthe Ġset Ġof Ġpixels Ġprocessed Ġby Ġthe Ġfragment Ġshader .</ li > ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ< li >{@ code ĠInv ocations Per Pixel }, Ġwhich Ġindicates Ġthe Ġmaximum Ġnumber Ġof Ġfragment Ġshader Ġinv ocations Ġthat Ġcould Ġbe Ġspawn ed Ġfor Ġthe Ġpixel ( s ) Ġcovered Ġby Ġthe Ġfragment .</ li > ĊĠĠĠĠĠĠĠ Ġ</ ul > ĊĊĠĠĠĠĠĠĠ ĠWhen Ġusing ĠSPI R - V Ġin Ġconjunction Ġwith Ġthe ĠOpenGL ĠSh ading ĠLanguage Ġ( GLSL ), Ġthe Ġfragment Ġshader Ġcapabilities Ġare Ġprovided Ġby Ġthe Ġ{@ code ĠGL _ NV _ sh ading _ rate _ image } Ġlanguage Ġextension Ġand Ġcorrespond Ġto Ġthe Ġbuilt - in Ġvariables Ġ{@ code Ġgl _ Fragment Size NV } Ġand Ġ{@ code Ġgl _ Inv ocations Per Pixel NV }, Ġrespectively . ĊĊĠĠĠĠĠĠĠ Ġ< h 5 > VK _ NV _ sh ading _ rate _ image </ h 5 > ĊĠĠĠĠĠĠĠ Ġ< dl > ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ< dt >< b > Name ĠString </ b ></ dt > ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ< dd >{@ code ĠVK _ NV _ sh ading _ rate _ image }</ dd > ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ< dt >< b > Extension ĠType </ b ></ dt > ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ< dd > Device Ġextension </ dd > ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ< dt >< b > Registered ĠExtension ĠNumber </ b ></ dt > ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ< dd > 1 6 5 </ dd > ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ< dt >< b > Revision </ b ></ dt > ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ< dd > 3 </ dd > ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ< dt >< b > Extension Ġand ĠVersion ĠDependencies </ b ></ dt > ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ< dd >< ul > ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ< li > Requires ĠVulkan Ġ 1 . 0 </ li > ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ< li > Requires Ġ{@ link ĠK HR Get PhysicalDevice Properties 2 ĠVK _ KHR _ get _ physical _ device _ properties 2 }</ li > ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ</ ul ></ dd > ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ< dt >< b > Contact </ b ></ dt > ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ< dd >< ul > ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ< li > Pat ĠBrown Ġ< a Ġtarget ="_ blank " Ġhref =" https :// github . com / Kh ronos Group / Vulkan - Docs / issues / new ? body =[ VK _ NV _ sh ading _ rate _ image ] % 2 0 @ nv pb rown % 2 5 0 A % 3 C % 3 CH ere % 2 0 describe % 2 0 the % 2 0 issue % 2 0 or % 2 0 question % 2 0 you % 2 0 have % 2 0 about % 2 0 the % 2 0 VK _ NV _ sh ading _ rate _ image % 2 0 extension % 3 E % 3 E "> nv pb rown </ a ></ li > ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ</ ul ></ dd > ĊĠĠĠĠĠĠĠ Ġ</ dl > ĊĊĠĠĠĠĠĠĠ Ġ< h 5 > Other ĠExtension ĠMetadata </ h 5 > ĊĠĠĠĠĠĠĠ Ġ< dl > ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ< dt >< b > Last ĠModified ĠDate </ b ></ dt > ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ< dd > 2 0 1 9 - 0 7 - 1 8 </ dd > ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ< dt >< b > Interactions Ġand ĠExternal ĠDependencies </ b ></ dt > ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ< dd >< ul > ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ< li > This Ġextension Ġrequires Ġ< a Ġtarget ="_ blank " Ġhref =" https :// html preview . github . io /? https :// github . com / Kh ronos Group / SPI RV - Registry / blob / master / extensions / NV / SP V _ NV _ sh ading _ rate . html ">{ @ code ĠSP V _ NV _ sh ading _ rate }</ a ></ li > ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ< li > This Ġextension Ġprovides ĠAPI Ġsupport Ġfor Ġ< a Ġtarget ="_ blank " Ġhref =" https :// github . com / Kh ronos Group / GLSL / blob / master / extensions / nv / GLSL _ NV _ sh ading _ rate _ image . txt ">{ @ code ĠGL _ NV _ sh ading _ rate _ image }</ a ></ li > ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ</ ul ></ dd > ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ< dt >< b > Contribut ors </ b ></ dt > ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ< dd >< ul > ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ< li > Pat ĠBrown , ĠNVIDIA </ li > ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ< li > Car sten ĠR oh de , ĠNVIDIA </ li > ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ< li > J eff ĠB ol z , ĠNVIDIA </ li > ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ< li > Dan iel ĠK och , ĠNVIDIA </ li > ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ< li > Math ias ĠSch ott , ĠNVIDIA </ li > ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ< li > Mat thew ĠN ets ch , ĠQual comm ĠTechnologies , ĠInc .</ li > ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ</ ul ></ dd > ĊĠĠĠĠĠĠĠ Ġ</ dl > ĊĠĠĠĠĠĠĠ Ġ""" ĊĊĠĠĠ ĠInt Constant ( ĊĠĠĠĠĠĠĠ Ġ" The Ġextension Ġspecification Ġversion .", ĊĊĠĠĠĠĠĠĠ Ġ" NV _ SH ADING _ RATE _ IMAGE _ SPEC _ VERSION " .." 3 " ĊĠĠĠ Ġ) ĊĊĠĠĠ ĠString Constant ( ĊĠĠĠĠĠĠĠ Ġ" The Ġextension Ġname .", ĊĊĠĠĠĠĠĠĠ Ġ" NV _ SH ADING _ RATE _ IMAGE _ EXTENSION _ NAME " .." VK _ NV _ sh ading _ rate _ image " ĊĠĠĠ Ġ) ĊĊĠĠĠ ĠEnum Constant ( ĊĠĠĠĠĠĠĠ Ġ" Ext ends Ġ{@ code ĠVk Structure Type }. ", ĊĊĠĠĠĠĠĠĠ Ġ" STRUCTURE _ TYPE _ PIPELINE _ VIEW PORT _ SH ADING _ RATE _ IMAGE _ STATE _ CREATE _ INFO _ NV " .." 1 0 0 0 1 6 4 0 0 0 ", ĊĠĠĠĠĠĠĠ Ġ" STRUCTURE _ TYPE _ PHYSICAL _ DEVICE _ SH ADING _ RATE _ IMAGE _ FEATURES _ NV " .." 1 0 0 0 1 6 4 0 0 1 ", ĊĠĠĠĠĠĠĠ Ġ" STRUCTURE _ TYPE _ PHYSICAL _ DEVICE _ SH ADING _ RATE _ IMAGE _ PROPERTIES _ NV " .." 1 0 0 0 1 6 4 0 0 2 ", ĊĠĠĠĠĠĠĠ Ġ" STRUCTURE _ TYPE _ PIPELINE _ VIEW PORT _ CO AR SE _ SAMPLE _ ORDER _ STATE _ CREATE _ INFO _ NV " .." 1 0 0 0 1 6 4 0 0 5 " ĊĠĠĠ Ġ) ĊĊĠĠĠ ĠEnum Constant ( ĊĠĠĠĠĠĠĠ Ġ" Ext ends Ġ{@ code ĠVk Image Layout }. ", ĊĊĠĠĠĠĠĠĠ Ġ" IMAGE _ LAYOUT _ SH ADING _ RATE _ OP TIM AL _ NV " .." 1 0 0 0 1 6 4 0 0 3 " ĊĠĠĠ Ġ) ĊĊĠĠĠ ĠEnum Constant ( ĊĠĠĠĠĠĠĠ Ġ" Ext ends Ġ{@ code ĠVk Dynamic State }. ", ĊĊĠĠĠĠĠĠĠ Ġ" DYNAMIC _ STATE _ VIEW PORT _ SH ADING _ RATE _ PAL ET TE _ NV " .." 1 0 0 0 1 6 4 0 0 4 ", ĊĠĠĠĠĠĠĠ Ġ" DYNAMIC _ STATE _ VIEW PORT _ CO AR SE _ SAMPLE _ ORDER _ NV " .." 1 0 0 0 1 6 4 0 0 6 " ĊĠĠĠ Ġ) ĊĊĠĠĠ ĠEnum Constant ( ĊĠĠĠĠĠĠĠ Ġ" Ext ends Ġ{@ code ĠVk Access Flag Bits }. ", ĊĊĠĠĠĠĠĠĠ Ġ" ACCESS _ SH ADING _ RATE _ IMAGE _ READ _ BIT _ NV ". enum ( 0 x 0 0 8 0 0 0 0 0 ) ĊĠĠĠ Ġ) ĊĊĠĠĠ ĠEnum Constant ( ĊĠĠĠĠĠĠĠ Ġ" Ext ends Ġ{@ code ĠVk Image Usage Flag Bits }. ", ĊĊĠĠĠĠĠĠĠ Ġ" IMAGE _ USAGE _ SH ADING _ RATE _ IMAGE _ BIT _ NV ". enum ( 0 x 0 0 0 0 0 1 0 0 ) ĊĠĠĠ Ġ) ĊĊĠĠĠ ĠEnum Constant ( ĊĠĠĠĠĠĠĠ Ġ" Ext ends Ġ{@ code ĠVk Pipeline Stage Flag Bits }. ", ĊĊĠĠĠĠĠĠĠ Ġ" PIPELINE _ STAGE _ SH ADING _ RATE _ IMAGE _ BIT _ NV ". enum ( 0 x 0 0 4 0 0 0 0 0 ) ĊĠĠĠ Ġ) ĊĊĠĠĠ ĠEnum Constant ( ĊĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠ ĠVk Shading Rate Palette Entry NV Ġ- ĠSh ading Ġrate Ġimage Ġpalette Ġentry Ġtypes ĊĊĠĠĠĠĠĠĠ Ġ< h 5 > Description </ h 5 > ĊĠĠĠĠĠĠĠ ĠThe Ġfollowing Ġtable Ġindicates Ġthe Ġwidth Ġand Ġheight Ġ( in Ġpixels ) Ġof Ġeach Ġfragment Ġgenerated Ġusing Ġthe Ġindicated Ġsh ading Ġrate , Ġas Ġwell Ġas Ġthe Ġmaximum Ġnumber Ġof Ġfragment Ġshader Ġinv ocations Ġlaunched Ġfor Ġeach Ġfragment . ĠWhen Ġprocessing Ġregions Ġof Ġa Ġprimitive Ġthat Ġhave Ġa Ġsh ading Ġrate Ġof Ġ# SH ADING _ RATE _ PAL ET TE _ ENTRY _ NO _ IN VOC ATIONS _ NV , Ġno Ġfragments Ġwill Ġbe Ġgenerated Ġin Ġthat Ġregion . ĊĊĠĠĠĠĠĠĠ Ġ< table Ġclass =" lwjgl "> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ< thead >< tr >< th > Shading ĠRate </ th >< th > Width </ th >< th > Height </ th >< th > Inv ocations </ th ></ tr ></ thead > ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ< tbody > ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ< tr >< td ># SH ADING _ RATE _ PAL ET TE _ ENTRY _ NO _ IN VOC ATIONS _ NV </ td >< td > 0 </ td >< td > 0 </ td >< td > 0 </ td ></ tr > ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ< tr >< td ># SH ADING _ RATE _ PAL ET TE _ ENTRY _ 1 6 _ IN VOC ATIONS _ PER _ PIXEL _ NV </ td >< td > 1 </ td >< td > 1 </ td >< td > 1 6 </ td ></ tr > ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ< tr >< td ># SH ADING _ RATE _ PAL ET TE _ ENTRY _ 8 _ IN VOC ATIONS _ PER _ PIXEL _ NV </ td >< td > 1 </ td >< td > 1 </ td >< td > 8 </ td ></ tr > ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ< tr >< td ># SH ADING _ RATE _ PAL ET TE _ ENTRY _ 4 _ IN VOC ATIONS _ PER _ PIXEL _ NV </ td >< td > 1 </ td >< td > 1 </ td >< td > 4 </ td ></ tr > ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ< tr >< td ># SH ADING _ RATE _ PAL ET TE _ ENTRY _ 2 _ IN VOC ATIONS _ PER _ PIXEL _ NV </ td >< td > 1 </ td >< td > 1 </ td >< td > 2 </ td ></ tr > ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ< tr >< td ># SH ADING _ RATE _ PAL ET TE _ ENTRY _ 1 _ IN VOC ATION _ PER _ PIXEL _ NV </ td >< td > 1 </ td >< td > 1 </ td >< td > 1 </ td ></ tr > ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ< tr >< td ># SH ADING _ RATE _ PAL ET TE _ ENTRY _ 1 _ IN VOC ATION _ PER _ 2 X 1 _ PIXEL S _ NV </ td >< td > 2 </ td >< td > 1 </ td >< td > 1 </ td ></ tr > ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ< tr >< td ># SH ADING _ RATE _ PAL ET TE _ ENTRY _ 1 _ IN VOC ATION _ PER _ 1 X 2 _ PIXEL S _ NV </ td >< td > 1 </ td >< td > 2 </ td >< td > 1 </ td ></ tr > ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ< tr >< td ># SH ADING _ RATE _ PAL ET TE _ ENTRY _ 1 _ IN VOC ATION _ PER _ 2 X 2 _ PIXEL S _ NV </ td >< td > 2 </ td >< td > 2 </ td >< td > 1 </ td ></ tr > ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ< tr >< td ># SH ADING _ RATE _ PAL ET TE _ ENTRY _ 1 _ IN VOC ATION _ PER _ 4 X 2 _ PIXEL S _ NV </ td >< td > 4 </ td >< td > 2 </ td >< td > 1 </ td ></ tr > ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ< tr >< td ># SH ADING _ RATE _ PAL ET TE _ ENTRY _ 1 _ IN VOC ATION _ PER _ 2 X 4 _ PIXEL S _ NV </ td >< td > 2 </ td >< td > 4 </ td >< td > 1 </ td ></ tr > ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ< tr >< td ># SH ADING _ RATE _ PAL ET TE _ ENTRY _ 1 _ IN VOC ATION _ PER _ 4 X 4 _ PIXEL S _ NV </ td >< td > 4 </ td >< td > 4 </ td >< td > 1 </ td ></ tr > ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ</ tbody > ĊĠĠĠĠĠĠĠ Ġ</ table > ĊĊĠĠĠĠĠĠĠ Ġ< h 5 > See ĠAlso </ h 5 > ĊĠĠĠĠĠĠĠ Ġ## Vk Co arse Sample Order Custom NV , Ġ## Vk Shading Rate Palette NV ĊĠĠĠĠĠĠĠ Ġ"" ", ĊĊĠĠĠĠĠĠĠ Ġ" SH ADING _ RATE _ PAL ET TE _ ENTRY _ NO _ IN VOC ATIONS _ NV " .." 0 ", ĊĠĠĠĠĠĠĠ Ġ" SH ADING _ RATE _ PAL ET TE _ ENTRY _ 1 6 _ IN VOC ATIONS _ PER _ PIXEL _ NV " .." 1 ", ĊĠĠĠĠĠĠĠ Ġ" SH ADING _ RATE _ PAL ET TE _ ENTRY _ 8 _ IN VOC ATIONS _ PER _ PIXEL _ NV " .." 2 ", ĊĠĠĠĠĠĠĠ Ġ" SH ADING _ RATE _ PAL ET TE _ ENTRY _ 4 _ IN VOC ATIONS _ PER _ PIXEL _ NV " .." 3 ", ĊĠĠĠĠĠĠĠ Ġ" SH ADING _ RATE _ PAL ET TE _ ENTRY _ 2 _ IN VOC ATIONS _ PER _ PIXEL _ NV " .." 4 ", ĊĠĠĠĠĠĠĠ Ġ" SH ADING _ RATE _ PAL ET TE _ ENTRY _ 1 _ IN VOC ATION _ PER _ PIXEL _ NV " .." 5 ", ĊĠĠĠĠĠĠĠ Ġ" SH ADING _ RATE _ PAL ET TE _ ENTRY _ 1 _ IN VOC ATION _ PER _ 2 X 1 _ PIXEL S _ NV " .." 6 ", ĊĠĠĠĠĠĠĠ Ġ" SH ADING _ RATE _ PAL ET TE _ ENTRY _ 1 _ IN VOC ATION _ PER _ 1 X 2 _ PIXEL S _ NV " .." 7 ", ĊĠĠĠĠĠĠĠ Ġ" SH ADING _ RATE _ PAL ET TE _ ENTRY _ 1 _ IN VOC ATION _ PER _ 2 X 2 _ PIXEL S _ NV " .." 8 ", ĊĠĠĠĠĠĠĠ Ġ" SH ADING _ RATE _ PAL ET TE _ ENTRY _ 1 _ IN VOC ATION _ PER _ 4 X 2 _ PIXEL S _ NV " .." 9 ", ĊĠĠĠĠĠĠĠ Ġ" SH ADING _ RATE _ PAL ET TE _ ENTRY _ 1 _ IN VOC ATION _ PER _ 2 X 4 _ PIXEL S _ NV " .." 1 0 ", ĊĠĠĠĠĠĠĠ Ġ" SH ADING _ RATE _ PAL ET TE _ ENTRY _ 1 _ IN VOC ATION _ PER _ 4 X 4 _ PIXEL S _ NV " .." 1 1 " ĊĠĠĠ Ġ) ĊĊĠĠĠ ĠEnum Constant ( ĊĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠ ĠVk Co arse Sample Order Type NV Ġ- ĠSh ading Ġrate Ġimage Ġsample Ġordering Ġtypes ĊĊĠĠĠĠĠĠĠ Ġ< h 5 > Description </ h 5 > ĊĠĠĠĠĠĠĠ Ġ< ul > ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ< li ># CO AR SE _ SAMPLE _ ORDER _ TYPE _ DEFAULT _ NV Ġspecifies Ġthat Ġcoverage Ġsamples Ġwill Ġbe Ġordered Ġin Ġan Ġimplementation - dependent Ġmanner .</ li > ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ< li ># CO AR SE _ SAMPLE _ ORDER _ TYPE _ CUSTOM _ NV Ġspecifies Ġthat Ġcoverage Ġsamples Ġwill Ġbe Ġordered Ġaccording Ġto Ġthe Ġarray Ġof Ġcustom Ġorder ings Ġprovided Ġin Ġeither Ġthe Ġ{@ code Ġp Custom Sample Orders } Ġmember Ġof Ġ## Vk Pipeline Viewport Co arse Sample Order State CreateInfo NV Ġor Ġthe Ġ{@ code Ġp Custom Sample Orders } Ġmember Ġof Ġ# Cmd Set Co arse Sample Order NV (). </ li > ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ< li ># CO AR SE _ SAMPLE _ ORDER _ TYPE _ PIXEL _ MAJOR _ NV Ġspecifies Ġthat Ġcoverage Ġsamples Ġwill Ġbe Ġordered Ġse quent ially , Ġsorted Ġfirst Ġby Ġpixel Ġcoordinate Ġ( in Ġrow - major Ġorder ) Ġand Ġthen Ġby Ġ< a Ġtarget ="_ blank " Ġhref =" https :// www . kh ronos . org / registry / v ulkan / specs / 1 . 3 - extensions / html / vk spec . html \ # pri msr ast - multis ampling - coverage - mask "> sample Ġindex </ a >.</ li > ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ< li ># CO AR SE _ SAMPLE _ ORDER _ TYPE _ SAMPLE _ MAJOR _ NV Ġspecifies Ġthat Ġcoverage Ġsamples Ġwill Ġbe Ġordered Ġse quent ially , Ġsorted Ġfirst Ġby Ġ< a Ġtarget ="_ blank " Ġhref =" https :// www . kh ronos . org / registry / v ulkan / specs / 1 . 3 - extensions / html / vk spec . html \ # pri msr ast - multis ampling - coverage - mask "> sample Ġindex </ a > Ġand Ġthen Ġby Ġpixel Ġcoordinate Ġ( in Ġrow - major Ġorder ).</ li > ĊĠĠĠĠĠĠĠ Ġ</ ul > ĊĊĠĠĠĠĠĠĠ Ġ< h 5 > See ĠAlso </ h 5 > ĊĠĠĠĠĠĠĠ Ġ## Vk Pipeline Viewport Co arse Sample Order State CreateInfo NV , Ġ# Cmd Set Co arse Sample Order NV () ĊĠĠĠĠĠĠĠ Ġ"" ", ĊĊĠĠĠĠĠĠĠ Ġ" CO AR SE _ SAMPLE _ ORDER _ TYPE _ DEFAULT _ NV " .." 0 ", ĊĠĠĠĠĠĠĠ Ġ" CO AR SE _ SAMPLE _ ORDER _ TYPE _ CUSTOM _ NV " .." 1 ", ĊĠĠĠĠĠĠĠ Ġ" CO AR SE _ SAMPLE _ ORDER _ TYPE _ PIXEL _ MAJOR _ NV " .." 2 ", ĊĠĠĠĠĠĠĠ Ġ" CO AR SE _ SAMPLE _ ORDER _ TYPE _ SAMPLE _ MAJOR _ NV " .." 3 " ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġvoid ( ĊĠĠĠĠĠĠĠ Ġ" Cmd Bind Shading Rate Image NV ", ĊĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠ ĠBind Ġa Ġsh ading Ġrate Ġimage Ġon Ġa Ġcommand Ġbuffer . ĊĊĠĠĠĠĠĠĠ Ġ< h 5 > C ĠSpecification </ h 5 > ĊĠĠĠĠĠĠĠ ĠWhen Ġsh ading Ġrate Ġimage Ġusage Ġis Ġenabled Ġin Ġthe Ġbound Ġpipeline , Ġthe Ġpipeline Ġuses Ġa Ġsh ading Ġrate Ġimage Ġspecified Ġby Ġthe Ġcommand : ĊĊĠĠĠĠĠĠĠ Ġ< pre >< code > Ċ ï¿ ¿ void ĠvkCmd Bind Shading Rate Image NV ( Ċ ï¿ ¿ ĠĠĠ ĠVk CommandBuffer ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcommand Buffer , Ċ ï¿ ¿ ĠĠĠ ĠVk ImageView ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠimageView , Ċ ï¿ ¿ ĠĠĠ ĠVk Image Layout ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġimage Layout );</ code ></ pre > ĊĊĠĠĠĠĠĠĠ Ġ< h 5 > Valid ĠUsage </ h 5 > ĊĠĠĠĠĠĠĠ Ġ< ul > ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ< li > The Ġ< a Ġtarget ="_ blank " Ġhref =" https :// www . kh ronos . org / registry / v ulkan / specs / 1 . 3 - extensions / html / vk spec . html \ # features - sh ading Rate Image "> sh ading Ġrate Ġimage </ a > Ġfeature Ġ< b > must </ b > Ġbe Ġenabled </ li > ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ< li > If Ġ{@ code ĠimageView } Ġis Ġnot Ġ# NULL _ HANDLE , Ġit Ġ< b > must </ b > Ġbe Ġa Ġvalid Ġ{@ code ĠVk ImageView } Ġhandle Ġof Ġtype Ġ# IMAGE _ VIEW _ TYPE _ 2 D Ġor Ġ# IMAGE _ VIEW _ TYPE _ 2 D _ ARRAY </ li > ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ< li > If Ġ{@ code ĠimageView } Ġis Ġnot Ġ# NULL _ HANDLE , Ġit Ġ< b > must </ b > Ġhave Ġa Ġformat Ġof Ġ# FORMAT _ R 8 _ UINT </ li > ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ< li > If Ġ{@ code ĠimageView } Ġis Ġnot Ġ# NULL _ HANDLE , Ġit Ġ< b > must </ b > Ġhave Ġbeen Ġcreated Ġwith Ġa Ġ{@ code Ġusage } Ġvalue Ġincluding Ġ# IMAGE _ USAGE _ SH ADING _ RATE _ IMAGE _ BIT _ NV </ li > ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ< li > If Ġ{@ code ĠimageView } Ġis Ġnot Ġ# NULL _ HANDLE , Ġ{@ code Ġimage Layout } Ġ< b > must </ b > Ġmatch Ġthe Ġactual Ġ{@ code ĠVk Image Layout } Ġof Ġeach Ġsub resource Ġaccessible Ġfrom Ġ{@ code ĠimageView } Ġat Ġthe Ġtime Ġthe Ġsub resource Ġis Ġaccessed </ li > ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ< li > If Ġ{@ code ĠimageView } Ġis Ġnot Ġ# NULL _ HANDLE , Ġ{@ code Ġimage Layout } Ġ< b > must </ b > Ġbe Ġ# IMAGE _ LAYOUT _ SH ADING _ RATE _ OP TIM AL _ NV Ġor Ġ# IMAGE _ LAYOUT _ GENERAL </ li > ĊĠĠĠĠĠĠĠ Ġ</ ul > ĊĊĠĠĠĠĠĠĠ Ġ< h 5 > Valid ĠUsage Ġ( Implicit )</ h 5 > ĊĠĠĠĠĠĠĠ Ġ< ul > ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ< li >{@ code Ġcommand Buffer } Ġ< b > must </ b > Ġbe Ġa Ġvalid Ġ{@ code ĠVk CommandBuffer } Ġhandle </ li > ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ< li > If Ġ{@ code ĠimageView } Ġis Ġnot Ġ# NULL _ HANDLE , Ġ{@ code ĠimageView } Ġ< b > must </ b > Ġbe Ġa Ġvalid Ġ{@ code ĠVk ImageView } Ġhandle </ li > ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ< li >{@ code Ġimage Layout } Ġ< b > must </ b > Ġbe Ġa Ġvalid Ġ{@ code ĠVk Image Layout } Ġvalue </ li > ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ< li >{@ code Ġcommand Buffer } Ġ< b > must </ b > Ġbe Ġin Ġthe Ġ< a Ġtarget ="_ blank " Ġhref =" https :// www . kh ronos . org / registry / v ulkan / specs / 1 . 3 - extensions / html / vk spec . html \ # command buffers - lifecycle "> recording Ġstate </ a ></ li > ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ< li > The Ġ{@ code ĠVk Command Pool } Ġthat Ġ{@ code Ġcommand Buffer } Ġwas Ġallocated Ġfrom Ġ< b > must </ b > Ġsupport Ġgraphics Ġoperations </ li > ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ< li > Both Ġof Ġ{@ code Ġcommand Buffer }, Ġand Ġ{@ code ĠimageView } Ġthat Ġare Ġvalid Ġhandles Ġof Ġnon - ignored Ġparameters Ġ< b > must </ b > Ġhave Ġbeen Ġcreated , Ġallocated , Ġor Ġretrieved Ġfrom Ġthe Ġsame Ġ{@ code ĠVk Device }</ li > ĊĠĠĠĠĠĠĠ Ġ</ ul > ĊĊĠĠĠĠĠĠĠ Ġ< h 5 > Host ĠSynchron ization </ h 5 > ĊĠĠĠĠĠĠĠ Ġ< ul > ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ< li > Host Ġaccess Ġto Ġ{@ code Ġcommand Buffer } Ġ< b > must </ b > Ġbe Ġextern ally Ġsynchronized </ li > ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ< li > Host Ġaccess Ġto Ġthe Ġ{@ code ĠVk Command Pool } Ġthat Ġ{@ code Ġcommand Buffer } Ġwas Ġallocated Ġfrom Ġ< b > must </ b > Ġbe Ġextern ally Ġsynchronized </ li > ĊĠĠĠĠĠĠĠ Ġ</ ul > ĊĊĠĠĠĠĠĠĠ Ġ< h 5 > Command ĠProperties </ h 5 > ĊĠĠĠĠĠĠĠ Ġ< table Ġclass =" lwjgl "> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ< thead >< tr >< th >< a Ġtarget ="_ blank " Ġhref =" https :// www . kh ronos . org / registry / v ulkan / specs / 1 . 3 - extensions / html / vk spec . html \ # Vk CommandBuffer Level "> Command ĠBuffer ĠLevel s </ a ></ th >< th >< a Ġtarget ="_ blank " Ġhref =" https :// www . kh ronos . org / registry / v ulkan / specs / 1 . 3 - extensions / html / vk spec . html \ # vkCmd Begin RenderPass "> Render ĠPass ĠScope </ a ></ th >< th >< a Ġtarget ="_ blank " Ġhref =" https :// www . kh ronos . org / registry / v ulkan / specs / 1 . 3 - extensions / html / vk spec . html \ # Vk Queue Flag Bits "> Supported ĠQueue ĠTypes </ a ></ th ></ tr ></ thead > ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ< tbody >< tr >< td > Primary ĠSecondary </ td >< td > Both </ td >< td > Graphics </ td ></ tr ></ tbody > ĊĠĠĠĠĠĠĠ Ġ</ table > ĊĠĠĠĠĠĠĠ Ġ"" ", ĊĊĠĠĠĠĠĠĠ ĠVk CommandBuffer (" commandBuffer ", Ġ" the Ġcommand Ġbuffer Ġinto Ġwhich Ġthe Ġcommand Ġwill Ġbe Ġrecorded ."), ĊĠĠĠĠĠĠĠ ĠVk ImageView (" imageView ", Ġ" an Ġimage Ġview Ġhandle Ġspecifying Ġthe Ġsh ading Ġrate Ġimage . Ġ{@ code ĠimageView } Ġ< b > may </ b > Ġbe Ġset Ġto Ġ# NULL _ HANDLE , Ġwhich Ġis Ġequivalent Ġto Ġspecifying Ġa Ġview Ġof Ġan Ġimage Ġfilled Ġwith Ġzero Ġvalues ."), ĊĠĠĠĠĠĠĠ ĠVk Image Layout (" image Layout ", Ġ" the Ġlayout Ġthat Ġthe Ġimage Ġsub resources Ġaccessible Ġfrom Ġ{@ code ĠimageView } Ġwill Ġbe Ġin Ġwhen Ġthe Ġsh ading Ġrate Ġimage Ġis Ġaccessed .") ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġvoid ( ĊĠĠĠĠĠĠĠ Ġ" Cmd Set Viewport Shading Rate Palette NV ", ĊĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠ ĠSet Ġsh ading Ġrate Ġimage Ġpa let tes Ġdynamically Ġfor Ġa Ġcommand Ġbuffer . ĊĊĠĠĠĠĠĠĠ Ġ< h 5 > C ĠSpecification </ h 5 > ĊĠĠĠĠĠĠĠ ĠTo Ġ< a Ġtarget ="_ blank " Ġhref =" https :// www . kh ronos . org / registry / v ulkan / specs / 1 . 3 - extensions / html / vk spec . html \ # pipelines - dynamic - state "> dynamic ally Ġset </ a > Ġthe Ġper - viewport Ġsh ading Ġrate Ġimage Ġpa let tes , Ġcall : ĊĊĠĠĠĠĠĠĠ Ġ< pre >< code > Ċ ï¿ ¿ void ĠvkCmd Set Viewport Shading Rate Palette NV ( Ċ ï¿ ¿ ĠĠĠ ĠVk CommandBuffer ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcommand Buffer , Ċ ï¿ ¿ ĠĠĠ Ġuint 3 2 _ t ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfirst Viewport , Ċ ï¿ ¿ ĠĠĠ Ġuint 3 2 _ t ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġviewport Count , Ċ ï¿ ¿ ĠĠĠ Ġconst ĠVk Shading Rate Palette NV * ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġp Shading Rate Pa let tes );</ code ></ pre > ĊĊĠĠĠĠĠĠĠ Ġ< h 5 > Description </ h 5 > ĊĠĠĠĠĠĠĠ ĠThis Ġcommand Ġsets Ġthe Ġper - viewport Ġsh ading Ġrate Ġimage Ġpa let tes Ġfor Ġsubsequent Ġdrawing Ġcommands Ġwhen Ġthe Ġgraphics Ġpipeline Ġis Ġcreated Ġwith Ġ# DYNAMIC _ STATE _ VIEW PORT _ SH ADING _ RATE _ PAL ET TE _ NV Ġset Ġin Ġ## Vk Pipeline Dynamic State CreateInfo {@ code Ġ:: p Dynamic States }. ĠOtherwise , Ġthis Ġstate Ġis Ġspecified Ġby Ġthe Ġ## Vk Pipeline Viewport Shading Rate Image State CreateInfo NV {@ code Ġ:: p Shading Rate Pa let tes } Ġvalues Ġused Ġto Ġcreate Ġthe Ġcurrently Ġactive Ġpipeline . ĊĊĠĠĠĠĠĠĠ Ġ< h 5 > Valid ĠUsage </ h 5 > ĊĠĠĠĠĠĠĠ Ġ< ul > ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ< li > The Ġ< a Ġtarget ="_ blank " Ġhref =" https :// www . kh ronos . org / registry / v ulkan / specs / 1 . 3 - extensions / html / vk spec . html \ # features - sh ading Rate Image "> sh ading Ġrate Ġimage </ a > Ġfeature Ġ< b > must </ b > Ġbe Ġenabled </ li > ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ< li > The Ġsum Ġof Ġ{@ code Ġfirst Viewport } Ġand Ġ{@ code Ġviewport Count } Ġ< b > must </ b > Ġbe Ġbetween Ġ 1 Ġand Ġ## Vk PhysicalDevice Limits {@ code Ġ:: max View ports }, Ġinclusive </ li > ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ< li > If Ġthe Ġ< a Ġtarget ="_ blank " Ġhref =" https :// www . kh ronos . org / registry / v ulkan / specs / 1 . 3 - extensions / html / vk spec . html \ # features - multi Viewport "> multiple Ġview ports </ a > Ġfeature Ġis Ġnot Ġenabled , Ġ{@ code Ġfirst Viewport } Ġ< b > must </ b > Ġbe Ġ 0 </ li > ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ< li > If Ġthe Ġ< a Ġtarget ="_ blank " Ġhref =" https :// www . kh ronos . org / registry / v ulkan / specs / 1 . 3 - extensions / html / vk spec . html \ # features - multi Viewport "> multiple Ġview ports </ a > Ġfeature Ġis Ġnot Ġenabled , Ġ{@ code Ġviewport Count } Ġ< b > must </ b > Ġbe Ġ 1 </ li > ĊĠĠĠĠĠĠĠ Ġ</ ul > ĊĊĠĠĠĠĠĠĠ Ġ< h 5 > Valid ĠUsage Ġ( Implicit )</ h 5 > ĊĠĠĠĠĠĠĠ Ġ< ul > ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ< li >{@ code Ġcommand Buffer } Ġ< b > must </ b > Ġbe Ġa Ġvalid Ġ{@ code ĠVk CommandBuffer } Ġhandle </ li > ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ< li >{@ code Ġp Shading Rate Pa let tes } Ġ< b > must </ b > Ġbe Ġa Ġvalid Ġpointer Ġto Ġan Ġarray Ġof Ġ{@ code Ġviewport Count } Ġvalid Ġ## Vk Shading Rate Palette NV Ġstructures </ li > ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ< li >{@ code Ġcommand Buffer } Ġ< b > must </ b > Ġbe Ġin Ġthe Ġ< a Ġtarget ="_ blank " Ġhref =" https :// www . kh ronos . org / registry / v ulkan / specs / 1 . 3 - extensions / html / vk spec . html \ # command buffers - lifecycle "> recording Ġstate </ a ></ li > ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ< li > The Ġ{@ code ĠVk Command Pool } Ġthat Ġ{@ code Ġcommand Buffer } Ġwas Ġallocated Ġfrom Ġ< b > must </ b > Ġsupport Ġgraphics Ġoperations </ li > ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ< li >{@ code Ġviewport Count } Ġ< b > must </ b > Ġbe Ġgreater Ġthan Ġ 0 </ li > ĊĠĠĠĠĠĠĠ Ġ</ ul > ĊĊĠĠĠĠĠĠĠ Ġ< h 5 > Host ĠSynchron ization </ h 5 > ĊĠĠĠĠĠĠĠ Ġ< ul > ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ< li > Host Ġaccess Ġto Ġ{@ code Ġcommand Buffer } Ġ< b > must </ b > Ġbe Ġextern ally Ġsynchronized </ li > ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ< li > Host Ġaccess Ġto Ġthe Ġ{@ code ĠVk Command Pool } Ġthat Ġ{@ code Ġcommand Buffer } Ġwas Ġallocated Ġfrom Ġ< b > must </ b > Ġbe Ġextern ally Ġsynchronized </ li > ĊĠĠĠĠĠĠĠ Ġ</ ul > ĊĊĠĠĠĠĠĠĠ Ġ< h 5 > Command ĠProperties </ h 5 > ĊĠĠĠĠĠĠĠ Ġ< table Ġclass =" lwjgl "> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ< thead >< tr >< th >< a Ġtarget ="_ blank " Ġhref =" https :// www . kh ronos . org / registry / v ulkan / specs / 1 . 3 - extensions / html / vk spec . html \ # Vk CommandBuffer Level "> Command ĠBuffer ĠLevel s </ a ></ th >< th >< a Ġtarget ="_ blank " Ġhref =" https :// www . kh ronos . org / registry / v ulkan / specs / 1 . 3 - extensions / html / vk spec . html \ # vkCmd Begin RenderPass "> Render ĠPass ĠScope </ a ></ th >< th >< a Ġtarget ="_ blank " Ġhref =" https :// www . kh ronos . org / registry / v ulkan / specs / 1 . 3 - extensions / html / vk spec . html \ # Vk Queue Flag Bits "> Supported ĠQueue ĠTypes </ a ></ th ></ tr ></ thead > ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ< tbody >< tr >< td > Primary ĠSecondary </ td >< td > Both </ td >< td > Graphics </ td ></ tr ></ tbody > ĊĠĠĠĠĠĠĠ Ġ</ table > ĊĊĠĠĠĠĠĠĠ Ġ< h 5 > See ĠAlso </ h 5 > ĊĠĠĠĠĠĠĠ Ġ## Vk Shading Rate Palette NV ĊĠĠĠĠĠĠĠ Ġ"" ", ĊĊĠĠĠĠĠĠĠ ĠVk CommandBuffer (" commandBuffer ", Ġ" the Ġcommand Ġbuffer Ġinto Ġwhich Ġthe Ġcommand Ġwill Ġbe Ġrecorded ."), ĊĠĠĠĠĠĠĠ Ġuint 3 2 _ t (" first Viewport ", Ġ" the Ġindex Ġof Ġthe Ġfirst Ġviewport Ġwhose Ġsh ading Ġrate Ġpalette Ġis Ġupdated Ġby Ġthe Ġcommand ."), ĊĠĠĠĠĠĠĠ ĠAuto Size (" p Shading Rate Pa let tes ") .. uint 3 2 _ t (" viewport Count ", Ġ" the Ġnumber Ġof Ġview ports Ġwhose Ġsh ading Ġrate Ġpa let tes Ġare Ġupdated Ġby Ġthe Ġcommand ."), ĊĠĠĠĠĠĠĠ ĠVk Shading Rate Palette NV . const . p (" p Shading Rate Pa let tes ", Ġ" a Ġpointer Ġto Ġan Ġarray Ġof Ġ## Vk Shading Rate Palette NV Ġstructures Ġdefining Ġthe Ġpalette Ġfor Ġeach Ġviewport .") ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġvoid ( ĊĠĠĠĠĠĠĠ Ġ" Cmd Set Co arse Sample Order NV ", ĊĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠ ĠSet Ġorder Ġof Ġcoverage Ġsamples Ġfor Ġco arse Ġfragments Ġdynamically Ġfor Ġa Ġcommand Ġbuffer . ĊĊĠĠĠĠĠĠĠ Ġ< h 5 > C ĠSpecification </ h 5 > ĊĠĠĠĠĠĠĠ ĠTo Ġ< a Ġtarget ="_ blank " Ġhref =" https :// www . kh ronos . org / registry / v ulkan / specs / 1 . 3 - extensions / html / vk spec . html \ # pipelines - dynamic - state "> dynamic ally Ġset </ a > Ġthe Ġorder Ġof Ġcoverage Ġsamples Ġin Ġfragments Ġlarger Ġthan Ġone Ġpixel , Ġcall : ĊĊĠĠĠĠĠĠĠ Ġ< pre >< code > Ċ ï¿ ¿ void ĠvkCmd Set Co arse Sample Order NV ( Ċ ï¿ ¿ ĠĠĠ ĠVk CommandBuffer ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcommand Buffer , Ċ ï¿ ¿ ĠĠĠ ĠVk Co arse Sample Order Type NV ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsample Order Type , Ċ ï¿ ¿ ĠĠĠ Ġuint 3 2 _ t ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcustom Sample Order Count , Ċ ï¿ ¿ ĠĠĠ Ġconst ĠVk Co arse Sample Order Custom NV * ĠĠĠĠĠĠĠĠĠ Ġp Custom Sample Orders );</ code ></ pre > ĊĊĠĠĠĠĠĠĠ Ġ< h 5 > Description </ h 5 > ĊĠĠĠĠĠĠĠ ĠIf Ġ{@ code Ġsample Order Type } Ġis Ġ# CO AR SE _ SAMPLE _ ORDER _ TYPE _ CUSTOM _ NV , Ġthe Ġcoverage Ġsample Ġorder Ġused Ġfor Ġany Ġcombination Ġof Ġfragment Ġarea Ġand Ġcoverage Ġsample Ġcount Ġnot Ġenum erated Ġin Ġ{@ code Ġp Custom Sample Orders } Ġwill Ġbe Ġidentical Ġto Ġthat Ġused Ġfor Ġ# CO AR SE _ SAMPLE _ ORDER _ TYPE _ DEFAULT _ NV . ĊĊĠĠĠĠĠĠĠ ĠThis Ġcommand Ġsets Ġthe Ġorder Ġof Ġcoverage Ġsamples Ġfor Ġsubsequent Ġdrawing Ġcommands Ġwhen Ġthe Ġgraphics Ġpipeline Ġis Ġcreated Ġwith Ġ# DYNAMIC _ STATE _ VIEW PORT _ CO AR SE _ SAMPLE _ ORDER _ NV Ġset Ġin Ġ## Vk Pipeline Dynamic State CreateInfo {@ code Ġ:: p Dynamic States }. ĠOtherwise , Ġthis Ġstate Ġis Ġspecified Ġby Ġthe Ġ## Vk Pipeline Viewport Co arse Sample Order State CreateInfo NV Ġvalues Ġused Ġto Ġcreate Ġthe Ġcurrently Ġactive Ġpipeline . ĊĊĠĠĠĠĠĠĠ Ġ< h 5 > Valid ĠUsage </ h 5 > ĊĠĠĠĠĠĠĠ Ġ< ul > ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ< li > If Ġ{@ code Ġsample Order Type } Ġis Ġnot Ġ# CO AR SE _ SAMPLE _ ORDER _ TYPE _ CUSTOM _ NV , Ġ{@ code Ġcustom Sampler Order Count } Ġ< b > must </ b > Ġbe Ġ 0 </ li > ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ< li > The Ġarray Ġ{@ code Ġp Custom Sample Orders } Ġ< b > must </ b > Ġnot Ġcontain Ġtwo Ġstructures Ġwith Ġmatching Ġvalues Ġfor Ġboth Ġthe Ġ{@ code Ġsh ading Rate } Ġand Ġ{@ code Ġsample Count } Ġmembers </ li > ĊĠĠĠĠĠĠĠ Ġ</ ul > ĊĊĠĠĠĠĠĠĠ Ġ< h 5 > Valid ĠUsage Ġ( Implicit )</ h 5 > ĊĠĠĠĠĠĠĠ Ġ< ul > ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ< li >{@ code Ġcommand Buffer } Ġ< b > must </ b > Ġbe Ġa Ġvalid Ġ{@ code ĠVk CommandBuffer } Ġhandle </ li > ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ< li >{@ code Ġsample Order Type } Ġ< b > must </ b > Ġbe Ġa Ġvalid Ġ{@ code ĠVk Co arse Sample Order Type NV } Ġvalue </ li > ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ< li > If Ġ{@ code Ġcustom Sample Order Count } Ġis Ġnot Ġ 0 , Ġ{@ code Ġp Custom Sample Orders } Ġ< b > must </ b > Ġbe Ġa Ġvalid Ġpointer Ġto Ġan Ġarray Ġof Ġ{@ code Ġcustom Sample Order Count } Ġvalid Ġ## Vk Co arse Sample Order Custom NV Ġstructures </ li > ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ< li >{@ code Ġcommand Buffer } Ġ< b > must </ b > Ġbe Ġin Ġthe Ġ< a Ġtarget ="_ blank " Ġhref =" https :// www . kh ronos . org / registry / v ulkan / specs / 1 . 3 - extensions / html / vk spec . html \ # command buffers - lifecycle "> recording Ġstate </ a ></ li > ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ< li > The Ġ{@ code ĠVk Command Pool } Ġthat Ġ{@ code Ġcommand Buffer } Ġwas Ġallocated Ġfrom Ġ< b > must </ b > Ġsupport Ġgraphics Ġoperations </ li > ĊĠĠĠĠĠĠĠ Ġ</ ul > ĊĊĠĠĠĠĠĠĠ Ġ< h 5 > Host ĠSynchron ization </ h 5 > ĊĠĠĠĠĠĠĠ Ġ< ul > ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ< li > Host Ġaccess Ġto Ġ{@ code Ġcommand Buffer } Ġ< b > must </ b > Ġbe Ġextern ally Ġsynchronized </ li > ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ< li > Host Ġaccess Ġto Ġthe Ġ{@ code ĠVk Command Pool } Ġthat Ġ{@ code Ġcommand Buffer } Ġwas Ġallocated Ġfrom Ġ< b > must </ b > Ġbe Ġextern ally Ġsynchronized </ li > ĊĠĠĠĠĠĠĠ Ġ</ ul > ĊĊĠĠĠĠĠĠĠ Ġ< h 5 > Command ĠProperties </ h 5 > ĊĠĠĠĠĠĠĠ Ġ< table Ġclass =" lwjgl "> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ< thead >< tr >< th >< a Ġtarget ="_ blank " Ġhref =" https :// www . kh ronos . org / registry / v ulkan / specs / 1 . 3 - extensions / html / vk spec . html \ # Vk CommandBuffer Level "> Command ĠBuffer ĠLevel s </ a ></ th >< th >< a Ġtarget ="_ blank " Ġhref =" https :// www . kh ronos . org / registry / v ulkan / specs / 1 . 3 - extensions / html / vk spec . html \ # vkCmd Begin RenderPass "> Render ĠPass ĠScope </ a ></ th >< th >< a Ġtarget ="_ blank " Ġhref =" https :// www . kh ronos . org / registry / v ulkan / specs / 1 . 3 - extensions / html / vk spec . html \ # Vk Queue Flag Bits "> Supported ĠQueue ĠTypes </ a ></ th ></ tr ></ thead > ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ< tbody >< tr >< td > Primary ĠSecondary </ td >< td > Both </ td >< td > Graphics </ td ></ tr ></ tbody > ĊĠĠĠĠĠĠĠ Ġ</ table > ĊĊĠĠĠĠĠĠĠ Ġ< h 5 > See ĠAlso </ h 5 > ĊĠĠĠĠĠĠĠ Ġ## Vk Co arse Sample Order Custom NV ĊĠĠĠĠĠĠĠ Ġ"" ", ĊĊĠĠĠĠĠĠĠ ĠVk CommandBuffer (" commandBuffer ", Ġ" the Ġcommand Ġbuffer Ġinto Ġwhich Ġthe Ġcommand Ġwill Ġbe Ġrecorded ."), ĊĠĠĠĠĠĠĠ ĠVk Co arse Sample Order Type NV (" sample Order Type ", Ġ" spec ifies Ġthe Ġmechanism Ġused Ġto Ġorder Ġcoverage Ġsamples Ġin Ġfragments Ġlarger Ġthan Ġone Ġpixel ."), ĊĠĠĠĠĠĠĠ ĠAuto Size (" p Custom Sample Orders ") .. uint 3 2 _ t (" custom Sample Order Count ", Ġ" spec ifies Ġthe Ġnumber Ġof Ġcustom Ġsample Ġorder ings Ġto Ġuse Ġwhen Ġordering Ġcoverage Ġsamples ."), ĊĠĠĠĠĠĠĠ Ġnullable .. Vk Co arse Sample Order Custom NV . const . p (" p Custom Sample Orders ", Ġ" a Ġpointer Ġto Ġan Ġarray Ġof Ġ## Vk Co arse Sample Order Custom NV Ġstructures , Ġeach Ġstructure Ġspecifying Ġthe Ġcoverage Ġsample Ġorder Ġfor Ġa Ġsingle Ġcombination Ġof Ġfragment Ġarea Ġand Ġcoverage Ġsample Ġcount .") ĊĠĠĠ Ġ) Ċ }