/* Ċ Ġ* ĠCopyright ĠL WJ GL . ĠAll Ġrights Ġreserved . Ċ Ġ* ĠLicense Ġterms : Ġhttps :// www . lwjgl . org / license Ċ Ġ*/ Ċ package Ġe gl . templates Ċ Ċ import Ġe gl .* Ċ import Ġorg . lwjgl . generator .* Ċ Ċ val ĠK HR _ stream _ fifo Ġ= Ġ" KHR Stream FIFO ". native Class EGL (" KHR _ stream _ fifo ", Ġpostfix Ġ= ĠK HR ) Ġ{ ĊĠĠĠ Ġdocumentation Ġ= ĊĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠ ĠNative Ġbindings Ġto Ġthe Ġ$ registry Link Ġextension . ĊĊĠĠĠĠĠĠĠ ĠThis Ġextension Ġallows Ġan ĠE GL Stream Ġto Ġoperate Ġas Ġa Ġfifo Ġrather Ġthan Ġas Ġa Ġmailbox . ĊĊĠĠĠĠĠĠĠ ĠThe ĠE GL _ KHR _ stream Ġextension Ġdefines Ġthe ĠE GL Stream Ġobject . ĠThe ĠE GL Stream Ġobject Ġworks Ġlike Ġa Ġ 1 Ġentry Ġmailbox , Ġallowing Ġthe Ġconsumer Ġto Ġconsume Ġthe ĊĠĠĠĠĠĠĠ Ġframe Ġthat Ġthe Ġproducer Ġmost Ġrecently Ġinserted . ĠIf Ġthe Ġconsumer Ġrequests Ġimage Ġframes Ġfaster Ġthan Ġthe Ġproducer Ġcreates Ġthem Ġthen Ġit Ġgets Ġthe Ġmost ĊĠĠĠĠĠĠĠ Ġrecent Ġone Ġover Ġand Ġover Ġuntil Ġa Ġnew Ġone Ġis Ġinserted . ĠIf Ġthe Ġproducer Ġinserts Ġframes Ġfaster Ġthan Ġthe Ġconsumer Ġcan Ġconsume Ġthem Ġthen Ġthe Ġextra Ġframes ĊĠĠĠĠĠĠĠ Ġare Ġdiscarded . ĠThe Ġproducer Ġis Ġnever Ġst alled . ĊĊĠĠĠĠĠĠĠ ĠThis Ġextension Ġallows Ġan ĠE GL Stream Ġto Ġbe Ġplaced Ġinto Ġfifo Ġmode . ĠIn Ġfifo Ġmode Ġno Ġimages Ġare Ġdiscarded . ĠIf Ġthe Ġproducer Ġattempts Ġto Ġinsert Ġa Ġframe Ġand ĊĠĠĠĠĠĠĠ Ġthe Ġfifo Ġis Ġfull Ġthen Ġthe Ġproducer Ġwill Ġst all Ġuntil Ġthere Ġis Ġroom Ġin Ġthe Ġfifo . ĠWhen Ġthe Ġconsumer Ġretrieves Ġan Ġimage Ġframe Ġfrom Ġthe ĠE GL Stream Ġit Ġwill ĊĠĠĠĠĠĠĠ Ġsee Ġthe Ġimage Ġframe Ġthat Ġimmediately Ġfollows Ġthe Ġimage Ġframe Ġthat Ġit Ġlast Ġretrieved Ġ( unless Ġno Ġsuch Ġframe Ġhas Ġbeen Ġinserted Ġyet Ġin Ġwhich Ġcase Ġit ĊĠĠĠĠĠĠĠ Ġretrieves Ġthe Ġsame Ġimage Ġframe Ġthat Ġit Ġretrieved Ġlast Ġtime ). ĊĊĠĠĠĠĠĠĠ ĠT iming Ġof Ġthe ĠE GL Stream Ġin Ġmailbox Ġmode , Ġas Ġdescribed Ġby Ġthe ĠE GL _ KHR _ stream Ġextension , Ġis Ġthe Ġresponsibility Ġof Ġthe Ġproducer Ġ( with Ġhelp Ġfrom Ġthe ĊĠĠĠĠĠĠĠ Ġconsumer Ġin Ġthe Ġform Ġof Ġthe ĠE GL _ CON SUM ER _ LAT ENCY _ USE C _ KHR Ġhint ). ĊĊĠĠĠĠĠĠĠ ĠIn Ġcontrast , Ġtiming Ġof Ġan ĠE GL Stream Ġin Ġfifo Ġmode Ġis Ġthe Ġresponsibility Ġof Ġthe Ġconsumer . ĠEach Ġimage Ġframe Ġin Ġthe Ġfifo Ġhas Ġan Ġassociated Ġtimestamp Ġset Ġby ĊĠĠĠĠĠĠĠ Ġthe Ġproducer . ĠThe Ġconsumer Ġcan Ġuse Ġthis Ġtimestamp Ġto Ġdetermine Ġwhen Ġthe Ġimage Ġframe Ġis Ġintended Ġto Ġbe Ġdisplayed Ġto Ġthe Ġuser . ĊĊĠĠĠĠĠĠĠ ĠRequires Ġ${ EGL 1 2 . core } Ġand Ġ${ KHR _ stream . link }. ĊĠĠĠĠĠĠĠ Ġ""" ĊĊĠĠĠ ĠInt Constant ( ĊĠĠĠĠĠĠĠ Ġ"", ĊĊĠĠĠĠĠĠĠ Ġ" STREAM _ FIFO _ LENGTH _ KHR " .. 0 x 3 1 FC , ĊĠĠĠĠĠĠĠ Ġ" STREAM _ TIME _ NOW _ KHR " .. 0 x 3 1 FD , ĊĠĠĠĠĠĠĠ Ġ" STREAM _ TIME _ CON SUM ER _ KHR " .. 0 x 3 1 FE , ĊĠĠĠĠĠĠĠ Ġ" STREAM _ TIME _ PRO DU CER _ KHR " .. 0 x 3 1 FF ĊĠĠĠ Ġ) ĊĊĠĠĠ ĠE GL Boolean ( ĊĠĠĠĠĠĠĠ Ġ" Query Stream Time KHR ", ĊĠĠĠĠĠĠĠ Ġ"", ĊĊĠĠĠĠĠĠĠ ĠE GL Display (" d py ", Ġ""), ĊĠĠĠĠĠĠĠ ĠE GL Stream KHR (" stream ", Ġ""), ĊĠĠĠĠĠĠĠ ĠE GLenum (" attribute ", Ġ""), ĊĠĠĠĠĠĠĠ ĠCheck ( 1 ) .. EGL Time KHR . p (" value ", Ġ"") ĊĠĠĠ Ġ) Ċ }