forked from KhronosGroup/OpenGL-Registry
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
9274192
commit f1d12e8
Showing
4 changed files
with
128 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,114 @@ | ||
Name | ||
|
||
QCOM_texture_foveated2 | ||
|
||
Name Strings | ||
|
||
GL_QCOM_texture_foveated2 | ||
|
||
Contact | ||
|
||
Jeff Leger - jleger 'at' qti.qualcomm.com | ||
|
||
Contributors | ||
|
||
Sam Holmes | ||
Jonathan Wicks | ||
Arpit Agarwal | ||
|
||
Status | ||
|
||
Complete | ||
|
||
Version | ||
|
||
Last Modified Date: October 12, 2020 | ||
Author Revision: 1.0 | ||
|
||
Number | ||
|
||
OpenGL ES Extension #331 | ||
|
||
Dependencies | ||
|
||
This extension requires QCOM_texture_foveated. | ||
|
||
This extension interacts with QCOM_texture_foveated_subsampled_layout. | ||
|
||
Overview | ||
|
||
This extension adds a new texture parameter that specifies a pixel density | ||
below which rendering can be discarded during foveated rendering. | ||
|
||
New Tokens | ||
|
||
Accepted as a value for <pname> for the TexParameter{if} and | ||
TexParameter{if}v commands and for the <pname> parameter of | ||
GetTexParameter{if}v: | ||
|
||
TEXTURE_FOVEATED_CUTOFF_DENSITY_QCOM 0x96A0 | ||
|
||
Add new rows to Table 8.19 (Texture parameters and their values): | ||
|
||
Name | Type | Legal Values | ||
------------------------------------------------------------ | ||
TEXTURE_FOVEATED_CUTOFF_DENSITY_QCOM | float | Any float between 0.0 and 1.0 | ||
|
||
Add new rows to Table 21.10 Textures (state per texture object) | ||
|
||
Get value | Type | Get Command | Initial Value | Description | Sec | ||
------------------------------------------------------------------ | ||
TEXTURE_FOVEATED_CUTOFF_DENSITY_QCOM | R[0.0,1.0] | GetTexParameter{if}v | 0.0 | Pixel density threshold for rendering cutoff | 8.19 | ||
|
||
This parameter defines the cutoff pixel density for a given focal | ||
point at the location (px,py) on a texture layer in NDC as: | ||
|
||
cutoff_pixel_density=TEXTURE_FOVEATED_CUTOFF_DENSITY_QCOM; | ||
for(int i=0;i<focalPointsPerLayer;++i){ | ||
focal_point_density = 1./max((focalX[i]-px)^2*gainX[i]^2+ | ||
(focalY[i]-py)^2*gainY[i]^2-foveaArea[i],1.); | ||
if(focal_point_density >= cutoff_pixel_density) | ||
shade pixel; | ||
} | ||
|
||
The resulting contents of the buffer regions corresponding to the | ||
discarded pixels will be undefined. | ||
|
||
New Procedures and Functions | ||
|
||
None. | ||
|
||
Errors | ||
|
||
INVALID_VALUE is generated by TexParameter{if} or TexParamter{if}v | ||
if <pname> is TEXTURE_FOVEATED_CUTOFF_DENSITY_QCOM and <param> is a | ||
float less than 0.0 or greater than 1.0. | ||
|
||
Issues | ||
|
||
(1) What are the texture contents in discarded regions? | ||
|
||
RESOLVED: After a draw operation where the foveation density cutoff | ||
is applied, the contents of the discarded regions of the texture become | ||
undefined. It is the application's responsibility to only sample from | ||
the regions of the texture that are above the cutoff pixel density, as | ||
specified by the provided foveation parameters. | ||
|
||
(2) Are any other buffers impacted other than color buffer? | ||
|
||
RESOLVED: Yes. Contents of the depth and stencil buffers will be | ||
undefined for discarded regions. | ||
|
||
(3) What is the impact on primitive/geometric data for discarded regions? | ||
|
||
RESOLVED: For the discarded regions, primitive data is also discarded so | ||
the behavior of all shaders in the vertex processing stage is undefined | ||
for these regions (such as UAV writes and transform feedback). | ||
|
||
|
||
Revision History | ||
|
||
Rev. Date Author Changes | ||
---- -------- -------- ----------------------------------------- | ||
1.0 10/12/20 jleger Initial version. | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters