On 09/04/2017 05:29 AM, Marek Olšák wrote:
On Sun, Sep 3, 2017 at 1:18 PM, Dave Airlie <airl...@gmail.com> wrote:
From: Dave Airlie <airl...@redhat.com>
reduces size from 1144 to 1128.
Signed-off-by: Dave Airlie <airl...@redhat.com>
---
src/mesa/main/mtypes.h | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/src/mesa/main/mtypes.h b/src/mesa/main/mtypes.h
index d44897b..3d68a6d 100644
--- a/src/mesa/main/mtypes.h
+++ b/src/mesa/main/mtypes.h
@@ -1012,7 +1012,6 @@ struct gl_texture_object
struct gl_sampler_object Sampler;
GLenum DepthMode; /**< GL_ARB_depth_texture */
The patch looks good, but here are some ideas for future improvements:
GLenum can be uint16_t everywhere, because GL doesn't set higher bits:
typedef uint16_t GLenum16.
s/GLenum/GLenum16/
- bool StencilSampling; /**< Should we sample stencil instead of depth?
*/
GLfloat Priority; /**< in [0,1] */
GLint BaseLevel; /**< min mipmap level, OpenGL 1.2 */
@@ -1033,12 +1032,17 @@ struct gl_texture_object
GLboolean Immutable; /**< GL_ARB_texture_storage */
GLboolean _IsFloat; /**< GL_OES_float_texture */
GLboolean _IsHalfFloat; /**< GL_OES_half_float_texture */
+ bool StencilSampling; /**< Should we sample stencil instead of depth?
*/
+ bool HandleAllocated; /**< GL_ARB_bindless_texture */
All bools can be 1 bit:
bool x:1;
GLboolean y:1;
etc.
GLuint MinLevel; /**< GL_ARB_texture_view */
GLuint MinLayer; /**< GL_ARB_texture_view */
GLuint NumLevels; /**< GL_ARB_texture_view */
GLuint NumLayers; /**< GL_ARB_texture_view */
MinLevel, NumLevels can be ubyte (uint8_t). MinLayer, NumLayers can be
ushort (uint16_t)... simply by considering the range of possible
values.
There's lots of opportunities along these lines in gl_texture_image.
And since we often have many gl_texture_images per gl_texture_object,
and we often have many textures, it'll probably have considerable
impact. I've suggested this in the past but never got around to working
on it.
I recall Eric Anholt mentioning a memory profiling tool that was helpful
for finding wasted space in structures, etc. I don't recall the name
right now. Eric?
-Brian
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev