15bd8deadSopenharmony_ciName 25bd8deadSopenharmony_ci 35bd8deadSopenharmony_ci QCOM_binning_control 45bd8deadSopenharmony_ci 55bd8deadSopenharmony_ciName Strings 65bd8deadSopenharmony_ci 75bd8deadSopenharmony_ci GL_QCOM_binning_control 85bd8deadSopenharmony_ci 95bd8deadSopenharmony_ciContributors 105bd8deadSopenharmony_ci 115bd8deadSopenharmony_ci Maurice Ribble 125bd8deadSopenharmony_ci 135bd8deadSopenharmony_ciContact 145bd8deadSopenharmony_ci 155bd8deadSopenharmony_ci Maurice Ribble (mribble 'at' qualcomm.com) 165bd8deadSopenharmony_ci 175bd8deadSopenharmony_ciNotice 185bd8deadSopenharmony_ci 195bd8deadSopenharmony_ci Copyright Qualcomm 2010 205bd8deadSopenharmony_ci 215bd8deadSopenharmony_ciIP Status 225bd8deadSopenharmony_ci 235bd8deadSopenharmony_ci Qualcomm Proprietary. 245bd8deadSopenharmony_ci 255bd8deadSopenharmony_ciStatus 265bd8deadSopenharmony_ci 275bd8deadSopenharmony_ci Draft 285bd8deadSopenharmony_ci 295bd8deadSopenharmony_ciVersion 305bd8deadSopenharmony_ci 315bd8deadSopenharmony_ci Date: May 2, 2012 325bd8deadSopenharmony_ci 335bd8deadSopenharmony_ciNumber 345bd8deadSopenharmony_ci 355bd8deadSopenharmony_ci OpenGL ES Extension #119 365bd8deadSopenharmony_ci 375bd8deadSopenharmony_ciDependencies 385bd8deadSopenharmony_ci 395bd8deadSopenharmony_ci OpenGL ES 1.0 is required. 405bd8deadSopenharmony_ci 415bd8deadSopenharmony_ci This extension is written against the OpenGL ES 2.0 specification. 425bd8deadSopenharmony_ci 435bd8deadSopenharmony_ciOverview 445bd8deadSopenharmony_ci 455bd8deadSopenharmony_ci This extension adds some new hints to give more control to application 465bd8deadSopenharmony_ci developers over the driver's binning algorithm. 475bd8deadSopenharmony_ci 485bd8deadSopenharmony_ci Only change this state right before changing rendertargets or right after 495bd8deadSopenharmony_ci a swap or there will be a large performance penalty. 505bd8deadSopenharmony_ci 515bd8deadSopenharmony_ciIssues 525bd8deadSopenharmony_ci 535bd8deadSopenharmony_ci None 545bd8deadSopenharmony_ci 555bd8deadSopenharmony_ciNew Procedures and Functions 565bd8deadSopenharmony_ci 575bd8deadSopenharmony_ci None 585bd8deadSopenharmony_ci 595bd8deadSopenharmony_ciNew Tokens 605bd8deadSopenharmony_ci 615bd8deadSopenharmony_ci Accepted by the <target> parameter of Hint: 625bd8deadSopenharmony_ci 635bd8deadSopenharmony_ci BINNING_CONTROL_HINT_QCOM 0x8FB0 645bd8deadSopenharmony_ci 655bd8deadSopenharmony_ci Accepted by the <hint> parameter of Hint: 665bd8deadSopenharmony_ci CPU_OPTIMIZED_QCOM 0x8FB1 675bd8deadSopenharmony_ci GPU_OPTIMIZED_QCOM 0x8FB2 685bd8deadSopenharmony_ci RENDER_DIRECT_TO_FRAMEBUFFER_QCOM 0x8FB3 695bd8deadSopenharmony_ci DONT_CARE 0x1100 705bd8deadSopenharmony_ci 715bd8deadSopenharmony_ciAdditions to Section 5.1 (Hints) of the OpenGL ES 2.0 Specification 725bd8deadSopenharmony_ci 735bd8deadSopenharmony_ci Replace "target is a symoblic...." with: 745bd8deadSopenharmony_ci 755bd8deadSopenharmony_ci target is a symbolic constant indicating the behavior to be controlled, and 765bd8deadSopenharmony_ci hint is a symbolic constant indicating what type of behavior is desired. 775bd8deadSopenharmony_ci target can be GENERATE_MIPMAP_HINT or BINNING_CONTROL_HINT_QCOM. 785bd8deadSopenharmony_ci GENERATE_MIPMAP_HINT indicates the desired quality and performance of 795bd8deadSopenharmony_ci mipmap level generation with GenerateMipmap. When target is 805bd8deadSopenharmony_ci GENERATE_MIPMAP_HINT hint must be one of FASTEST, indicating that the most 815bd8deadSopenharmony_ci efficient option should be chosen; NICEST, indicating that the highest 825bd8deadSopenharmony_ci quality option should be chosen; and DONT_CARE, indicating no preference in 835bd8deadSopenharmony_ci the matter. A target of BINNING_CONTROL_HINT_QCOM gives hints at what 845bd8deadSopenharmony_ci binning algorithm is to be used. When the target is BINNING_CONTROL_QCOM 855bd8deadSopenharmony_ci the hint must be one of the values below: 865bd8deadSopenharmony_ci 875bd8deadSopenharmony_ci CPU_OPTIMIZED_QCOM - binning algorithm focuses on lower CPU 885bd8deadSopenharmony_ci utilization (this path increases vertex 895bd8deadSopenharmony_ci processing) 905bd8deadSopenharmony_ci GPU_OPTIMIZED_QCOM - binning algorithm focuses on lower GPU 915bd8deadSopenharmony_ci utilization (this path increases CPU 925bd8deadSopenharmony_ci usage) 935bd8deadSopenharmony_ci RENDER_DIRECT_TO_FRAMEBUFFER_QCOM - render directly to the final 945bd8deadSopenharmony_ci framebuffer and bypass tile memory 955bd8deadSopenharmony_ci (this path has a low CPU usage, but 965bd8deadSopenharmony_ci in some cases uses more memory 975bd8deadSopenharmony_ci bandwidth) 985bd8deadSopenharmony_ci DONT_CARE - the driver picks which binning 995bd8deadSopenharmony_ci algorithm to use (default) 1005bd8deadSopenharmony_ci 1015bd8deadSopenharmony_ci The Qualcomm Adreno 200 family does not support 1025bd8deadSopenharmony_ci RENDER_DIRECT_TO_FRAMEBUFFER_QCOM option and this hint will be ignored on that 1035bd8deadSopenharmony_ci hardware. 1045bd8deadSopenharmony_ci 1055bd8deadSopenharmony_ci When BINNING_CONTROL_QCOM do so right before changing rendertargets or right after 1065bd8deadSopenharmony_ci swap or there will be a large performance penalty. 1075bd8deadSopenharmony_ci 1085bd8deadSopenharmony_ciNew State 1095bd8deadSopenharmony_ci 1105bd8deadSopenharmony_ciGet Value Type Command Value 1115bd8deadSopenharmony_ci--------- ---- ------- ------- 1125bd8deadSopenharmony_ciBINNING_CONTROL_HINT_QCOM special GetIntegerv DONT_CARE 1135bd8deadSopenharmony_ci 1145bd8deadSopenharmony_ciRevision History 1155bd8deadSopenharmony_ci 1165bd8deadSopenharmony_ci 6/15/2010 Created. 1175bd8deadSopenharmony_ci 6/22/2010 Name changes, cleanup, add token numbers. 1185bd8deadSopenharmony_ci 10/11/2010 Simplified extension to remove some of the extra modes. 1195bd8deadSopenharmony_ci 1/27/2012 Added in RENDER_DIRECT_TO_FRAMEBUFFER_QCOM 1205bd8deadSopenharmony_ci 5/2/2012 Added IP Status 121