[Mesa-dev] [PATCH 11/11] glsl: Reject linking shaders with too many uniform blocks.
Brian Paul
brianp at vmware.com
Thu Jul 26 09:27:40 PDT 2012
On 07/26/2012 10:17 AM, Eric Anholt wrote:
> Brian Paul<brianp at vmware.com> writes:
>
>> On 07/20/2012 04:33 PM, Eric Anholt wrote:
>>> Part of fixing piglit maxblocks.
>>> ---
>>> src/glsl/linker.cpp | 34 ++++++++++++++++++++++++++++++++++
>>> 1 file changed, 34 insertions(+)
>>>
>>> diff --git a/src/glsl/linker.cpp b/src/glsl/linker.cpp
>>> index bfdde40..f4e578f 100644
>>> --- a/src/glsl/linker.cpp
>>> +++ b/src/glsl/linker.cpp
>>> @@ -2324,6 +2324,12 @@ check_resources(struct gl_context *ctx, struct gl_shader_program *prog)
>>> 0 /* FINISHME: Geometry shaders. */
>>> };
>>>
>>> + const unsigned max_uniform_blocks[MESA_SHADER_TYPES] = {
>>> + ctx->Const.VertexProgram.MaxUniformBlocks,
>>> + ctx->Const.FragmentProgram.MaxUniformBlocks,
>>> + ctx->Const.GeometryProgram.MaxUniformBlocks,
>>> + };
>>> +
>>> for (unsigned i = 0; i< MESA_SHADER_TYPES; i++) {
>>> struct gl_shader *sh = prog->_LinkedShaders[i];
>>>
>>> @@ -2348,6 +2354,34 @@ check_resources(struct gl_context *ctx, struct gl_shader_program *prog)
>>> }
>>> }
>>>
>>> + unsigned blocks[] = {0, 0, 0};
>>
>> Should that be:
>> unsigned blocks[MESA_SHADER_TYPES] = { 0, 0, 0 };
>
> I've changed it to just blocks[MESA_SHADER_TYPES] = { 0 } since trailing
> entries get zero-filled.
Looks good.
-Brian
More information about the mesa-dev
mailing list