/* Ċ Ġ* ĠCopyright ĠL WJ GL . ĠAll Ġrights Ġreserved . Ċ Ġ* ĠLicense Ġterms : Ġhttps :// www . lwjgl . org / license Ċ Ġ*/ Ċ package Ġop eng l . templates Ċ Ċ import Ġorg . lwjgl . generator .* Ċ import Ġop eng l .* Ċ import Ġcore . windows .* Ċ Ċ val ĠW GL _ AMD _ gpu _ association Ġ= Ġ" WGL AMD GPU Association ". native Class WGL (" WGL _ AMD _ gpu _ association ", ĠAMD ) Ġ{ ĊĠĠĠ Ġdocumentation Ġ= ĊĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠ ĠNative Ġbindings Ġto Ġthe Ġ$ registry Link Ġextension . ĊĊĠĠĠĠĠĠĠ ĠThere Ġcurrently Ġis Ġno Ġway Ġfor Ġapplications Ġto Ġefficiently Ġuse ĠGPU Ġresources Ġin Ġsystems Ġthat Ġcontain Ġmore Ġthan Ġone ĠGPU . ĠV endors Ġhave Ġprovided Ġmethods ĊĠĠĠĠĠĠĠ Ġthat Ġattempt Ġto Ġsplit Ġthe Ġworkload Ġfor Ġan Ġapplication Ġamong Ġthe Ġavailable ĠGPU Ġresources . ĠThis Ġhas Ġpro ven Ġto Ġbe Ġvery Ġin efficient Ġbecause Ġmost ĊĠĠĠĠĠĠĠ Ġapplications Ġwere Ġnever Ġwritten Ġwith Ġthese Ġsorts Ġof Ġoptimizations Ġin Ġmind . ĊĊĠĠĠĠĠĠĠ ĠThis Ġextension Ġprovides Ġa Ġmechanism Ġfor Ġapplications Ġto Ġexplicitly Ġuse Ġthe ĠGPU Ġresources Ġon Ġa Ġgiven Ġsystem Ġindividually . ĠBy Ġproviding Ġthis ĊĠĠĠĠĠĠĠ Ġfunctionality , Ġa Ġdriver Ġallows Ġapplications Ġto Ġmake Ġappropriate Ġdecisions Ġregarding Ġwhere Ġand Ġwhen Ġto Ġdistribute Ġrendering Ġtasks . ĊĊĠĠĠĠĠĠĠ ĠRequires Ġ${ WGL _ ARB _ extensions _ string . link } Ġand Ġ${ EXT _ framebuffer _ object . link }. ĊĠĠĠĠĠĠĠ Ġ""" ĊĊĠĠĠ Ġval Ġproperties Ġ= ĠInt Constant ( ĊĠĠĠĠĠĠĠ Ġ" Accepted Ġby Ġthe Ġ{@ code Ġproperty } Ġparameter Ġof Ġ# Get GPU Info AMD (). ", ĊĊĠĠĠĠĠĠĠ Ġ" GPU _ VENDOR _ AMD " .. 0 x 1 F 0 0 , ĊĠĠĠĠĠĠĠ Ġ" GPU _ RENDER ER _ STRING _ AMD " .. 0 x 1 F 0 1 , ĊĠĠĠĠĠĠĠ Ġ" GPU _ OPEN GL _ VERSION _ STRING _ AMD " .. 0 x 1 F 0 2 , ĊĠĠĠĠĠĠĠ Ġ" GPU _ FAST EST _ TARGET _ GP US _ AMD " .. 0 x 2 1 A 2 , ĊĠĠĠĠĠĠĠ Ġ" GPU _ RAM _ AMD " .. 0 x 2 1 A 3 , ĊĠĠĠĠĠĠĠ Ġ" GPU _ CLOCK _ AMD " .. 0 x 2 1 A 4 , ĊĠĠĠĠĠĠĠ Ġ" GPU _ NUM _ PI PES _ AMD " .. 0 x 2 1 A 5 , ĊĠĠĠĠĠĠĠ Ġ" GPU _ NUM _ SIMD _ AMD " .. 0 x 2 1 A 6 , ĊĠĠĠĠĠĠĠ Ġ" GPU _ NUM _ RB _ AMD " .. 0 x 2 1 A 7 , ĊĠĠĠĠĠĠĠ Ġ" GPU _ NUM _ SPI _ AMD " .. 0 x 2 1 A 8 ĊĠĠĠ Ġ). java Doc Links ĊĊĠĠĠ ĠUINT ( ĊĠĠĠĠĠĠĠ Ġ" Get GP UID s AMD ", ĊĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠ ĠReturns Ġthe ĠIDs Ġfor Ġavailable ĠGP Us . ĊĊĠĠĠĠĠĠĠ ĠIf Ġthe Ġfunction Ġsucceeds , Ġthe Ġreturn Ġvalue Ġis Ġthe Ġnumber Ġof Ġtotal ĠGP Us Ġavailable . ĠThe Ġvalue Ġ 0 Ġis Ġreturned Ġif Ġno ĠGP Us Ġare Ġavailable Ġor Ġif Ġthe Ġcall Ġhas ĊĠĠĠĠĠĠĠ Ġfailed . ĠThe ĠID Ġ 0 Ġis Ġreserved Ġand Ġwill Ġnot Ġbe Ġret uned Ġas Ġa Ġvalid ĠGPU ĠID . ĠIf Ġthe Ġarray Ġ{@ code Ġids } Ġis Ġ# NULL , Ġthe Ġfunction Ġwill Ġonly Ġreturn Ġthe Ġtotal ĊĠĠĠĠĠĠĠ Ġnumber Ġof ĠGP Us . Ġ{@ code Ġids } Ġwill Ġbe Ġtight ly Ġpacked Ġwith Ġno Ġ 0 Ġvalues Ġbetween Ġvalid Ġids . ĊĠĠĠĠĠĠĠ Ġ"" ", ĊĊĠĠĠĠĠĠĠ ĠAuto Size (" ids ") .. UINT . IN (" max Count ", Ġ" the Ġmax Ġnumber Ġof ĠIDs Ġthat Ġcan Ġbe Ġreturned "), ĊĠĠĠĠĠĠĠ Ġnullable .. UINT . p . IN (" ids ", Ġ" the Ġarray Ġof Ġreturned ĠIDs ") ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġint ( ĊĠĠĠĠĠĠĠ Ġ" Get GPU Info AMD ", ĊĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠ ĠEach ĠGPU Ġin Ġa Ġsystem Ġmay Ġhave Ġdifferent Ġproperties , Ġperformance Ġcharacteristics Ġand Ġdifferent Ġsupported ĠOpenGL Ġversions . ĠUse Ġthis Ġfunction Ġto Ġdetermine ĊĠĠĠĠĠĠĠ Ġwhich ĠGPU Ġis Ġbest Ġsuit ed Ġfor Ġa Ġspecific Ġtask . ĊĊĠĠĠĠĠĠĠ ĠFor Ġa Ġstring , Ġ{@ code Ġsize } Ġwill Ġbe Ġthe Ġnumber Ġof Ġcharacters Ġallocated Ġand Ġwill Ġinclude Ġ# NULL Ġtermination . ĠFor Ġarrays Ġof Ġtype ĠGL _ UNSIGNED _ INT , ĠGL _ INT , ĊĠĠĠĠĠĠĠ Ġand ĠGL _ FLOAT Ġ{@ code Ġsize } Ġwill Ġbe Ġthe Ġarray Ġdepth . ĠIf Ġthe Ġfunction Ġsucceeds , Ġthe Ġnumber Ġof Ġvalues Ġwritten Ġwill Ġbe Ġreturned . ĠIf Ġthe Ġnumber Ġof Ġvalues ĊĠĠĠĠĠĠĠ Ġwritten Ġis Ġequal Ġto Ġ{@ code Ġsize }, Ġthe Ġquery Ġshould Ġbe Ġrepeated Ġwith Ġa Ġlarger Ġ{@ code Ġdata } Ġbuffer . ĠStrings Ġshould Ġbe Ġqueried Ġusing Ġthe ĠGL _ UNSIGNED _ BYTE ĊĠĠĠĠĠĠĠ Ġtype , Ġare ĠUTF - 8 Ġencoded Ġand Ġwill Ġbe Ġ# NULL Ġterminated . ĠIf Ġthe Ġfunction Ġfails , Ġ- 1 Ġwill Ġbe Ġreturned . ĊĠĠĠĠĠĠĠ Ġ"" ", ĊĊĠĠĠĠĠĠĠ ĠUINT . IN (" id ", Ġ" a ĠGPU Ġid Ġobtained Ġfrom Ġcalling Ġ# Get GP UID s AMD () "), ĊĠĠĠĠĠĠĠ Ġint . IN (" property ", Ġ" the Ġinformation Ġbeing Ġqueried ", Ġproperties ), ĊĠĠĠĠĠĠĠ ĠGLenum . IN ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" dataType ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" the Ġdata Ġtype Ġto Ġbe Ġreturned ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"# UNSIGNED _ INT Ġ# INT Ġ# FLOAT Ġ# UNSIGNED _ BYTE " ĊĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠ ĠAuto Size Sh r (" GL Checks . type To Byte Shift ( dataType )", Ġ" data ") .. UINT . IN (" size ", Ġ" the Ġsize Ġof Ġthe Ġ{@ code Ġdata } Ġbuffer "), ĊĠĠĠĠĠĠĠ ĠMulti Type ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPointer Mapping . DATA _ INT , ĠPointer Mapping . DATA _ FLOAT ĊĠĠĠĠĠĠĠ Ġ) .. void . p . IN (" data ", Ġ" the Ġbuffer Ġwhich Ġwill Ġbe Ġfilled Ġwith Ġthe Ġrequested Ġinformation ") ĊĠĠĠ Ġ) ĊĊĠĠĠ ĠUINT ( ĊĠĠĠĠĠĠĠ Ġ" Get Context GP UID AMD ", ĊĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠ ĠDetermine Ġwhich ĠGPU Ġa Ġcontext Ġis Ġattached Ġto . ĊĊĠĠĠĠĠĠĠ ĠUn associated Ġcontexts Ġare Ġcreated Ġby Ġcalling ĠW GL # w gl Create Context (). ĠAlthough Ġthese Ġcontexts Ġare Ġun associated , Ġtheir Ġuse Ġwill Ġstill Ġbe Ġtied Ġto Ġa Ġsingle ĊĠĠĠĠĠĠĠ ĠGPU Ġin Ġmost Ġcases . ĠFor Ġthis Ġreason Ġit Ġis Ġadvantage ous Ġto Ġbe Ġable Ġto Ġquery Ġthe ĠGPU Ġan Ġexisting Ġun associated Ġcontext Ġres ides Ġon . ĠIf Ġmultiple ĠGP Us Ġare ĊĠĠĠĠĠĠĠ Ġavailable , Ġit Ġwould Ġbe Ġun des irable Ġto Ġuse Ġone Ġfor Ġrendering Ġto Ġvisible Ġsurfaces Ġand Ġthen Ġchose Ġthe Ġsame Ġone Ġfor Ġoff - screen Ġrendering . ĊĠĠĠĠĠĠĠ Ġ"" ", ĊĊĠĠĠĠĠĠĠ ĠH GL RC . IN (" hgl rc ", Ġ" the Ġcontext Ġfor Ġwhich Ġthe ĠGPU Ġid Ġwill Ġbe Ġreturned ") ĊĠĠĠ Ġ) ĊĊĠĠĠ ĠH GL RC ( ĊĠĠĠĠĠĠĠ Ġ" Create Associated Context AMD ", ĊĠĠĠĠĠĠĠ Ġ" Creates Ġan Ġassociated Ġcontext . ĠUp on Ġsuccessful Ġcreation , Ġno Ġpixel Ġformat Ġis Ġtied Ġto Ġan Ġassociated Ġcontext .", ĊĊĠĠĠĠĠĠĠ ĠUINT . IN (" id ", Ġ" a Ġvalid ĠGPU Ġid ") ĊĠĠĠ Ġ) ĊĊĠĠĠ ĠH GL RC ( ĊĠĠĠĠĠĠĠ Ġ" Create Associated Context Attribs AMD ", ĊĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠ ĠCreate Ġan Ġassociated Ġcontext Ġwith Ġa Ġspecific ĠGL Ġversion . ĊĊĠĠĠĠĠĠĠ ĠAll Ġcapabilities Ġand Ġlimitations Ġof ĠW GL ARB Create Context # w gl Create Context Attribs ARB () Ġapply Ġto Ġ{@ code ĠCreate Associated Context Attribs AMD }. ĊĠĠĠĠĠĠĠ Ġ"" ", ĊĊĠĠĠĠĠĠĠ ĠUINT . IN (" id ", Ġ" a Ġvalid ĠGPU Ġid "), ĊĠĠĠĠĠĠĠ Ġnullable .. H GL RC . IN (" share Context ", Ġ" must Ġeither Ġbe Ġ# NULL Ġor Ġthat Ġof Ġan Ġassociated Ġcontext Ġcreated Ġwith Ġthe Ġsame ĠGPU ĠID Ġas Ġ{@ code Ġid } "), ĊĠĠĠĠĠĠĠ ĠNull Terminated .. nullable .. int . const . p . IN (" attrib List ", Ġ" a Ġ 0 - terminated Ġlist Ġof Ġattributes Ġfor Ġthe Ġcontext ") ĊĠĠĠ Ġ) ĊĊĠĠĠ ĠBOOL ( ĊĠĠĠĠĠĠĠ Ġ" Delete Associated Context AMD ", ĊĠĠĠĠĠĠĠ Ġ" Deletes Ġan Ġassociated Ġcontext . ĠAn Ġassociated Ġcontext Ġcannot Ġbe Ġdeleted Ġby Ġcalling Ġ# Delete Context (). ", ĊĊĠĠĠĠĠĠĠ ĠH GL RC . IN (" hgl rc ", Ġ" a Ġvalid Ġassociated Ġcontext Ġcreated Ġby Ġcalling Ġ# Create Associated Context AMD () ") ĊĠĠĠ Ġ) ĊĊĠĠĠ ĠBOOL ( ĊĠĠĠĠĠĠĠ Ġ" Make Associated Context Current AMD ", ĊĠĠĠĠĠĠĠ Ġ" M akes Ġan Ġassociated Ġcontext Ġcurrent Ġin Ġthe Ġcurrent Ġthread .", ĊĊĠĠĠĠĠĠĠ ĠH GL RC . IN (" hgl rc ", Ġ" a Ġcontext Ġhandle Ġcreated Ġby Ġcalling Ġ# Create Associated Context AMD () ") ĊĠĠĠ Ġ) ĊĊĠĠĠ ĠH GL RC (" GetCurrent Associated Context AMD ", Ġ" Returns Ġthe Ġcurrent Ġassociated Ġcontext Ġin Ġthe Ġcurrent Ġthread .") ĊĊĠĠĠ ĠIgnore Missing .. VOID ( ĊĠĠĠĠĠĠĠ Ġ" Blit Context Framebuffer AMD ", ĊĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠ ĠBl its Ġdata Ġfrom Ġone Ġcontext Ġto Ġanother . ĠThis Ġfacilit ates Ġhigh Ġperformance Ġdata Ġcommunication Ġbetween Ġmultiple Ġcontexts . ĊĠĠĠĠĠĠĠ Ġ"" ", ĊĊĠĠĠĠĠĠĠ ĠH GL RC . IN (" dst Ctx ", Ġ" the Ġcontext Ġhandle Ġfor Ġthe Ġwrite Ġcontext "), ĊĠĠĠĠĠĠĠ ĠGLint . IN (" src X 0 ", Ġ" the Ġsource Ġx < sub > 0 </ sub > Ġcoordinate "), ĊĠĠĠĠĠĠĠ ĠGLint . IN (" src Y 0 ", Ġ" the Ġsource ĠY < sub > 0 </ sub > Ġcoordinate "), ĊĠĠĠĠĠĠĠ ĠGLint . IN (" src X 1 ", Ġ" the Ġsource ĠX < sub > 1 </ sub > Ġcoordinate "), ĊĠĠĠĠĠĠĠ ĠGLint . IN (" src Y 1 ", Ġ" the Ġsource ĠY < sub > 1 </ sub > Ġcoordinate "), ĊĠĠĠĠĠĠĠ ĠGLint . IN (" dst X 0 ", Ġ" the Ġdestination ĠX < sub > 0 </ sub > Ġcoordinate "), ĊĠĠĠĠĠĠĠ ĠGLint . IN (" dst Y 0 ", Ġ" the Ġdestination ĠY < sub > 0 </ sub > Ġcoordinate "), ĊĠĠĠĠĠĠĠ ĠGLint . IN (" dst X 1 ", Ġ" the Ġdestination ĠX < sub > 1 </ sub > Ġcoordinate "), ĊĠĠĠĠĠĠĠ ĠGLint . IN (" dst Y 1 ", Ġ" the Ġdestination ĠY < sub > 1 </ sub > Ġcoordinate "), ĊĠĠĠĠĠĠĠ ĠGL bit field . IN ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" mask ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" the Ġbit wise ĠOR Ġof Ġa Ġnumber Ġof Ġvalues Ġindicating Ġwhich Ġbuffers Ġare Ġto Ġbe Ġcopied ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"# COLOR _ BUFFER _ BIT Ġ# DEPTH _ BUFFER _ BIT Ġ# STENCIL _ BUFFER _ BIT ", ĠLink Mode . BIT FIELD ĊĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠ ĠGLenum . IN (" filter ", Ġ" the Ġinterpolation Ġmethod Ġto Ġapply Ġif Ġthe Ġimage Ġis Ġst ret ched ", Ġ"# LINEAR Ġ# NE ARE ST ") ĊĠĠĠ Ġ) Ċ }