[Mesa-dev] [PATCH] mesa/mtypes: repack gl_texture_object.
Dave Airlie
airlied at gmail.com
Sun Sep 3 11:39:32 UTC 2017
On 3 September 2017 at 21:22, Thomas Helland <thomashelland90 at gmail.com> wrote:
> 2017-09-03 13:18 GMT+02:00 Dave Airlie <airlied at gmail.com>:
>> From: Dave Airlie <airlied at redhat.com>
>>
>> reduces size from 1144 to 1128.
>>
>> Signed-off-by: Dave Airlie <airlied at 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 */
>> - 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 */
>>
>
> Maybe we could use "pragma pack" here instead?
> I'm debating with myself whether or not moving this
> bool away from the rest of the bindless_texture related
> variables is worth saving the few bytes.
You don't ever want pragma pack for this. As that will force a
uint32_t after a bool to be misaligned,
which would suck for everyone.
Saving 7 bytes of pointless padding at the end of a struct that gets
allocated quite a lot by GL applications,
seems worth it for me. gl_texture_object is probably one of the most
allocated application object structs.
Dave.
>
>> GLuint MinLevel; /**< GL_ARB_texture_view */
>> GLuint MinLayer; /**< GL_ARB_texture_view */
>> GLuint NumLevels; /**< GL_ARB_texture_view */
>> GLuint NumLayers; /**< GL_ARB_texture_view */
>>
>> + /** GL_EXT_memory_object */
>> + GLenum TextureTiling;
>> +
>> /** Actual texture images, indexed by [cube face] and [mipmap level] */
>> struct gl_texture_image *Image[MAX_FACES][MAX_TEXTURE_LEVELS];
>>
>> @@ -1057,13 +1061,9 @@ struct gl_texture_object
>> /** GL_ARB_shader_image_load_store */
>> GLenum ImageFormatCompatibilityType;
>>
>> - /** GL_EXT_memory_object */
>> - GLenum TextureTiling;
>> -
>> /** GL_ARB_bindless_texture */
>> struct util_dynarray SamplerHandles;
>> struct util_dynarray ImageHandles;
>> - bool HandleAllocated;
>> };
>>
>>
>> --
>> 2.9.5
>>
>> _______________________________________________
>> mesa-dev mailing list
>> mesa-dev at lists.freedesktop.org
>> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
More information about the mesa-dev
mailing list