summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMarek Olšák <marek.olsak@amd.com>2021-03-28 06:23:02 -0400
committerMarge Bot <eric+marge@anholt.net>2021-04-06 22:31:15 +0000
commit815d98c22d407b9a3a3377d829152ed8649260fc (patch)
treebca690aa3fa8681c7efc9f19e9184ddae215388a /src
parent712b629abff0ae66aa8fe51e5119f75c4161c7bb (diff)
gallium/pb: remove 8 bytes from pb_buffer by packing variables
Only svga used usages beyond 16 bits. All other drivers are OK with 16 bits. Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9809>
Diffstat (limited to 'src')
-rw-r--r--src/gallium/auxiliary/pipebuffer/pb_buffer.h15
-rw-r--r--src/gallium/winsys/svga/drm/vmw_buffer.h4
2 files changed, 9 insertions, 10 deletions
diff --git a/src/gallium/auxiliary/pipebuffer/pb_buffer.h b/src/gallium/auxiliary/pipebuffer/pb_buffer.h
index 6ae26e1df17..8c0545505d5 100644
--- a/src/gallium/auxiliary/pipebuffer/pb_buffer.h
+++ b/src/gallium/auxiliary/pipebuffer/pb_buffer.h
@@ -112,24 +112,23 @@ struct pb_buffer
{
struct pipe_reference reference;
+ /* For internal driver use. It's here so as not to waste space due to
+ * type alignment. (pahole)
+ */
+ uint8_t placement;
+
/* Alignments are powers of two, so store only the bit position.
* alignment_log2 = util_logbase2(alignment);
* alignment = 1 << alignment_log2;
*/
uint8_t alignment_log2;
- pb_size size;
-
/**
* Used with pb_usage_flags or driver-specific flags, depending on drivers.
*/
- unsigned usage;
+ uint16_t usage;
- /**
- * For internal driver use. It's here so as not to waste space due to
- * type alignment. (pahole)
- */
- unsigned placement;
+ pb_size size;
/**
* Pointer to the virtual function table.
diff --git a/src/gallium/winsys/svga/drm/vmw_buffer.h b/src/gallium/winsys/svga/drm/vmw_buffer.h
index 8ed56d4aa1e..9e452e7e807 100644
--- a/src/gallium/winsys/svga/drm/vmw_buffer.h
+++ b/src/gallium/winsys/svga/drm/vmw_buffer.h
@@ -34,8 +34,8 @@
/* These extra flags are used wherever the pb_usage_flags enum type is used */
-#define VMW_BUFFER_USAGE_SHARED (1 << 20)
-#define VMW_BUFFER_USAGE_SYNC (1 << 21)
+#define VMW_BUFFER_USAGE_SHARED (1 << 14)
+#define VMW_BUFFER_USAGE_SYNC (1 << 15)
struct SVGAGuestPtr;
struct pb_buffer;