mesa: Introduce MESA_texture_const_bandwidth
A simple extension that builds on EXT_memory_object to allow the application to request that constant bandwidth (non-data-dependent) tiling layouts be used for a specified texture. Signed-off-by: Rob Clark <robdclark@chromium.org> Reviewed-by: Marek Olšák <marek.olsak@amd.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25464>
This commit is contained in:
83
docs/_static/specs/MESA_texture_const_bandwidth.spec
vendored
Normal file
83
docs/_static/specs/MESA_texture_const_bandwidth.spec
vendored
Normal file
@@ -0,0 +1,83 @@
|
||||
Name
|
||||
|
||||
MESA_texture_const_bandwidth
|
||||
|
||||
Name Strings
|
||||
|
||||
GL_MESA_texture_const_bandwidth
|
||||
|
||||
Contact
|
||||
|
||||
Rob Clark <robdclark@chromium.org>
|
||||
|
||||
Contributors
|
||||
|
||||
Rob Clark, Google
|
||||
Lina Versace, Google
|
||||
Tapani Pälli, Intel
|
||||
|
||||
Status
|
||||
|
||||
Proposal
|
||||
|
||||
Version
|
||||
|
||||
Version 1, September, 2023
|
||||
|
||||
Number
|
||||
|
||||
tbd
|
||||
|
||||
Dependencies
|
||||
|
||||
Requires EXT_memory_object.
|
||||
|
||||
Overview
|
||||
|
||||
The use of data dependent bandwidth compressed formats (UBWC, AFBC, etc)
|
||||
can introduce a form of side-channel, in that the bandwidth used for
|
||||
texture access is dependent on the texture's contents. In some cases
|
||||
an application may want to disable the use of data dependent formats on
|
||||
specific textures.
|
||||
|
||||
For that purpose, this extension extends EXT_memory_object to introduce
|
||||
a new <param> CONST_BW_TILING_MESA.
|
||||
|
||||
IP Status
|
||||
|
||||
None
|
||||
|
||||
Issues
|
||||
|
||||
None
|
||||
|
||||
New Procedures and Functions
|
||||
|
||||
None
|
||||
|
||||
New Types
|
||||
|
||||
None
|
||||
|
||||
New Tokens
|
||||
|
||||
Returned in the <params> parameter of GetInternalFormativ or
|
||||
GetInternalFormati64v when the <pname> parameter is TILING_TYPES_EXT,
|
||||
returned in the <params> parameter of GetTexParameter{if}v,
|
||||
GetTexParameterI{i ui}v, GetTextureParameter{if}v, and
|
||||
GetTextureParameterI{i ui}v when the <pname> parameter is
|
||||
TEXTURE_TILING_EXT, and accepted by the <params> parameter of
|
||||
TexParameter{ifx}{v}, TexParameterI{i ui}v, TextureParameter{if}{v},
|
||||
TextureParameterI{i ui}v when the <pname> parameter is
|
||||
TEXTURE_TILING_EXT:
|
||||
|
||||
CONST_BW_TILING_MESA 0x8BBE
|
||||
|
||||
Errors
|
||||
|
||||
None
|
||||
|
||||
Revision History
|
||||
|
||||
Version 1, 2023-9-28 (Rob Clark)
|
||||
Initial draft.
|
3
docs/_static/specs/enums.txt
vendored
3
docs/_static/specs/enums.txt
vendored
@@ -73,6 +73,9 @@ GL_MESA_tile_raster_order
|
||||
GL_MESA_framebuffer_flip_y
|
||||
GL_FRAMEBUFFER_FLIP_Y_MESA 0x8BBB
|
||||
|
||||
GL_MESA_texture_const_bandwidth
|
||||
GL_CONST_BW_TILING_MESA 0x8BBE
|
||||
|
||||
EGL_MESA_drm_image
|
||||
EGL_DRM_BUFFER_FORMAT_MESA 0x31D0
|
||||
EGL_DRM_BUFFER_USE_MESA 0x31D1
|
||||
|
Reference in New Issue
Block a user