mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-20 16:00:08 +01:00
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:
parent
2320ad1da6
commit
d0c81e12f3
3 changed files with 91 additions and 0 deletions
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_MESA_framebuffer_flip_y
|
||||||
GL_FRAMEBUFFER_FLIP_Y_MESA 0x8BBB
|
GL_FRAMEBUFFER_FLIP_Y_MESA 0x8BBB
|
||||||
|
|
||||||
|
GL_MESA_texture_const_bandwidth
|
||||||
|
GL_CONST_BW_TILING_MESA 0x8BBE
|
||||||
|
|
||||||
EGL_MESA_drm_image
|
EGL_MESA_drm_image
|
||||||
EGL_DRM_BUFFER_FORMAT_MESA 0x31D0
|
EGL_DRM_BUFFER_FORMAT_MESA 0x31D0
|
||||||
EGL_DRM_BUFFER_USE_MESA 0x31D1
|
EGL_DRM_BUFFER_USE_MESA 0x31D1
|
||||||
|
|
|
||||||
|
|
@ -12906,6 +12906,11 @@ GLAPI void APIENTRY glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN (co
|
||||||
#define GL_FOG_SPECULAR_TEXTURE_WIN 0x80EC
|
#define GL_FOG_SPECULAR_TEXTURE_WIN 0x80EC
|
||||||
#endif /* GL_WIN_specular_fog */
|
#endif /* GL_WIN_specular_fog */
|
||||||
|
|
||||||
|
#ifndef GL_MESA_texture_const_bandwidth
|
||||||
|
#define GL_MESA_texture_const_bandwidth 1
|
||||||
|
#define GL_CONST_BW_TILING_MESA 0x8BBE
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue