gallium: add multi-component 64-bit UINT formats for raw double vertex attribs

This is the distinction between formats:
- PIPE_FORMAT_R64_FLOAT is the legacy "convert-to-float" vertex format.
- PIPE_FORMAT_R64_UINT is the raw double format.

Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11370>
This commit is contained in:
Marek Olšák
2021-06-14 19:51:11 -04:00
committed by Marge Bot
parent e002f5a086
commit 4a713c568b
2 changed files with 9 additions and 2 deletions
+5 -2
View File
@@ -41,7 +41,11 @@ extern "C" {
enum pipe_format {
PIPE_FORMAT_NONE,
/* Vertex formats must be first and must be <= 255. */
PIPE_FORMAT_R64_FLOAT,
PIPE_FORMAT_R64_UINT, /**< raw doubles (ARB_vertex_attrib_64bit) */
PIPE_FORMAT_R64G64_UINT,
PIPE_FORMAT_R64G64B64_UINT,
PIPE_FORMAT_R64G64B64A64_UINT,
PIPE_FORMAT_R64_FLOAT, /**< doubles converted to float */
PIPE_FORMAT_R64G64_FLOAT,
PIPE_FORMAT_R64G64B64_FLOAT,
PIPE_FORMAT_R64G64B64A64_FLOAT,
@@ -293,7 +297,6 @@ enum pipe_format {
PIPE_FORMAT_R8A8_UNORM,
PIPE_FORMAT_A8R8_UNORM,
PIPE_FORMAT_R64_UINT,
PIPE_FORMAT_R64_SINT,
PIPE_FORMAT_A8_UINT,
+4
View File
@@ -467,6 +467,10 @@ PIPE_FORMAT_R32G32B32_SINT , plain, 1, 1, 1, sp32, sp32, sp32, , xyz1,
PIPE_FORMAT_R32G32B32A32_SINT , plain, 1, 1, 1, sp32, sp32, sp32, sp32, xyzw, rgb
PIPE_FORMAT_R64_UINT , plain, 1, 1, 1, up64, , , , x001, rgb
PIPE_FORMAT_R64G64_UINT , plain, 1, 1, 1, up64, up64, , , xy01, rgb
PIPE_FORMAT_R64G64B64_UINT , plain, 1, 1, 1, up64, up64, up64, , xyz1, rgb
PIPE_FORMAT_R64G64B64A64_UINT , plain, 1, 1, 1, up64, up64, up64, up64, xyzw, rgb
PIPE_FORMAT_R64_SINT , plain, 1, 1, 1, sp64, , , , x001, rgb
PIPE_FORMAT_A8_UINT , plain, 1, 1, 1, up8, , , , 000x, rgb
Can't render this file because it contains an unexpected character in line 8 and column 3.