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