From: Marek Olšák Date: Thu, 16 Nov 2017 00:10:27 +0000 (+0100) Subject: mesa: reduce the size of gl_program X-Git-Tag: upstream/18.1.0~1738 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=65ed98839b612ada9b5a3da3bedff135798bdb74;p=platform%2Fupstream%2Fmesa.git mesa: reduce the size of gl_program gl_program: 1456 -> 976 bytes Reviewed-by: Brian Paul --- diff --git a/src/compiler/glsl/link_uniforms.cpp b/src/compiler/glsl/link_uniforms.cpp index 15813cb..a73dcd4 100644 --- a/src/compiler/glsl/link_uniforms.cpp +++ b/src/compiler/glsl/link_uniforms.cpp @@ -1423,11 +1423,10 @@ link_assign_uniform_storage(struct gl_context *ctx, } } - STATIC_ASSERT(sizeof(shader->Program->sh.SamplerTargets) == - sizeof(parcel.targets)); - memcpy(shader->Program->sh.SamplerTargets, - parcel.targets, - sizeof(shader->Program->sh.SamplerTargets)); + STATIC_ASSERT(ARRAY_SIZE(shader->Program->sh.SamplerTargets) == + ARRAY_SIZE(parcel.targets)); + for (unsigned j = 0; j < ARRAY_SIZE(parcel.targets); j++) + shader->Program->sh.SamplerTargets[j] = parcel.targets[j]; } #ifndef NDEBUG diff --git a/src/mesa/main/mtypes.h b/src/mesa/main/mtypes.h index f829fa3..c80d3b9 100644 --- a/src/mesa/main/mtypes.h +++ b/src/mesa/main/mtypes.h @@ -2168,7 +2168,7 @@ struct gl_program /** Subset of OutputsWritten outputs written with non-zero index. */ GLbitfield64 SecondaryOutputsWritten; /** TEXTURE_x_BIT bitmask */ - GLbitfield TexturesUsed[MAX_COMBINED_TEXTURE_IMAGE_UNITS]; + GLbitfield16 TexturesUsed[MAX_COMBINED_TEXTURE_IMAGE_UNITS]; /** Bitfield of which samplers are used */ GLbitfield SamplersUsed; /** Texture units used for shadow sampling. */ @@ -2246,7 +2246,7 @@ struct gl_program /** Which texture target is being sampled * (TEXTURE_1D/2D/3D/etc_INDEX) */ - gl_texture_index SamplerTargets[MAX_SAMPLERS]; + GLubyte SamplerTargets[MAX_SAMPLERS]; /** * Number of samplers declared with the bindless_sampler layout