• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1Name
2
3    QCOM_binning_control
4
5Name Strings
6
7    GL_QCOM_binning_control
8
9Contributors
10
11    Maurice Ribble
12
13Contact
14
15    Maurice Ribble (mribble 'at' qualcomm.com)
16
17Notice
18
19    Copyright Qualcomm 2010
20
21IP Status
22
23    Qualcomm Proprietary.
24
25Status
26
27    Draft
28
29Version
30
31    Date: May 2, 2012
32
33Number
34
35    OpenGL ES Extension #119
36
37Dependencies
38
39    OpenGL ES 1.0 is required.
40
41    This extension is written against the OpenGL ES 2.0 specification.
42
43Overview
44
45    This extension adds some new hints to give more control to application
46    developers over the driver's binning algorithm.
47
48    Only change this state right before changing rendertargets or right after
49    a swap or there will be a large performance penalty.
50
51Issues
52
53    None
54
55New Procedures and Functions
56
57    None
58
59New Tokens
60
61    Accepted by the <target> parameter of Hint:
62
63    BINNING_CONTROL_HINT_QCOM           0x8FB0
64
65    Accepted by the <hint> parameter of Hint:
66    CPU_OPTIMIZED_QCOM                  0x8FB1
67    GPU_OPTIMIZED_QCOM                  0x8FB2
68    RENDER_DIRECT_TO_FRAMEBUFFER_QCOM   0x8FB3
69    DONT_CARE                           0x1100
70
71Additions to Section 5.1 (Hints) of the OpenGL ES 2.0 Specification
72
73    Replace "target is a symoblic...." with:
74
75    target is a symbolic constant indicating the behavior to be controlled, and
76    hint is a symbolic constant indicating what type of behavior is desired.
77    target can be GENERATE_MIPMAP_HINT or BINNING_CONTROL_HINT_QCOM.
78    GENERATE_MIPMAP_HINT  indicates the desired quality and performance of
79    mipmap level generation with GenerateMipmap. When target is
80    GENERATE_MIPMAP_HINT hint must be one of FASTEST, indicating that the most
81    efficient option should be chosen; NICEST, indicating that the highest
82    quality option should be chosen; and DONT_CARE, indicating no preference in
83    the matter.  A target of BINNING_CONTROL_HINT_QCOM gives hints at what
84    binning algorithm is to be used.  When the target is BINNING_CONTROL_QCOM
85    the hint must be one of the values below:
86
87    CPU_OPTIMIZED_QCOM                - binning algorithm focuses on lower CPU
88                                        utilization (this path increases vertex
89                                        processing)
90    GPU_OPTIMIZED_QCOM                - binning algorithm focuses on lower GPU
91                                        utilization (this path increases CPU
92                                        usage)
93    RENDER_DIRECT_TO_FRAMEBUFFER_QCOM - render directly to the final
94                                        framebuffer and bypass tile memory
95                                        (this path has a low CPU usage, but
96                                        in some cases uses more memory
97                                        bandwidth)
98    DONT_CARE                         - the driver picks which binning
99                                        algorithm to use (default)
100
101    The Qualcomm Adreno 200 family does not support
102    RENDER_DIRECT_TO_FRAMEBUFFER_QCOM option and this hint will be ignored on that
103    hardware.
104
105    When BINNING_CONTROL_QCOM do so right before changing rendertargets or right after
106    swap or there will be a large performance penalty.
107
108New State
109
110Get Value                                 Type          Command      Value
111---------                                 ----          -------     -------
112BINNING_CONTROL_HINT_QCOM                special      GetIntegerv   DONT_CARE
113
114Revision History
115
116    6/15/2010  Created.
117    6/22/2010  Name changes, cleanup, add token numbers.
118    10/11/2010 Simplified extension to remove some of the extra modes.
119    1/27/2012  Added in RENDER_DIRECT_TO_FRAMEBUFFER_QCOM
120    5/2/2012   Added IP Status
121