blob: 513641b814c8f01065aae9905db2a8182527693f [file] [log] [blame]
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 <target> parameter of Hint:
BINNING_CONTROL_HINT_QCOM 0x8FB0
Accepted by the <hint> 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