Name QCOM_binning_control Name Strings GL_QCOM_binning_control Contributors Maurice Ribble Contact Maurice Ribble (mribble 'at' qualcomm.com) Notice Copyright Qualcomm 2010 IP Status Qualcomm Proprietary. Status Draft Version Date: May 2, 2012 Number OpenGL ES Extension #119 Dependencies OpenGL ES 1.0 is required. This extension is written against the OpenGL ES 2.0 specification. Overview This extension adds some new hints to give more control to application developers over the driver's binning algorithm. Only change this state right before changing rendertargets or right after a swap or there will be a large performance penalty. Issues None New Procedures and Functions None New Tokens Accepted by the parameter of Hint: BINNING_CONTROL_HINT_QCOM 0x8FB0 Accepted by the parameter of Hint: CPU_OPTIMIZED_QCOM 0x8FB1 GPU_OPTIMIZED_QCOM 0x8FB2 RENDER_DIRECT_TO_FRAMEBUFFER_QCOM 0x8FB3 DONT_CARE 0x1100 Additions to Section 5.1 (Hints) of the OpenGL ES 2.0 Specification Replace "target is a symoblic...." with: target is a symbolic constant indicating the behavior to be controlled, and hint is a symbolic constant indicating what type of behavior is desired. target can be GENERATE_MIPMAP_HINT or BINNING_CONTROL_HINT_QCOM. GENERATE_MIPMAP_HINT indicates the desired quality and performance of mipmap level generation with GenerateMipmap. When target is GENERATE_MIPMAP_HINT hint must be one of FASTEST, indicating that the most efficient option should be chosen; NICEST, indicating that the highest quality option should be chosen; and DONT_CARE, indicating no preference in the matter. A target of BINNING_CONTROL_HINT_QCOM gives hints at what binning algorithm is to be used. When the target is BINNING_CONTROL_QCOM the hint must be one of the values below: CPU_OPTIMIZED_QCOM - binning algorithm focuses on lower CPU utilization (this path increases vertex processing) GPU_OPTIMIZED_QCOM - binning algorithm focuses on lower GPU utilization (this path increases CPU usage) RENDER_DIRECT_TO_FRAMEBUFFER_QCOM - render directly to the final framebuffer and bypass tile memory (this path has a low CPU usage, but in some cases uses more memory bandwidth) DONT_CARE - the driver picks which binning algorithm to use (default) The Qualcomm Adreno 200 family does not support RENDER_DIRECT_TO_FRAMEBUFFER_QCOM option and this hint will be ignored on that hardware. When BINNING_CONTROL_QCOM do so right before changing rendertargets or right after swap or there will be a large performance penalty. New State Get Value Type Command Value --------- ---- ------- ------- BINNING_CONTROL_HINT_QCOM special GetIntegerv DONT_CARE Revision History 6/15/2010 Created. 6/22/2010 Name changes, cleanup, add token numbers. 10/11/2010 Simplified extension to remove some of the extra modes. 1/27/2012 Added in RENDER_DIRECT_TO_FRAMEBUFFER_QCOM 5/2/2012 Added IP Status