[Mesa-dev] [PATCH] program: add no-op add_uniform_to_shader::set_buffer_offset() method

Brian Paul brianp at vmware.com
Mon Mar 7 17:18:18 UTC 2016


On 03/05/2016 02:01 PM, Jose Fonseca wrote:
>
> On 05/03/16 17:40, Brian Paul wrote:
>> Fixes VMware MSVC, MinGW builds:
>>
>> build/windows-x86-debug/mesa/libmesa.a(ir_to_mesa.o):
>> ir_to_mesa.cpp:(.rdata+0xf9c): undefined reference to
>> `program_resource_visitor::set_buffer_offset(unsigned int)'
>>
>> This doesn't seem to be needed for the libgl-gdi target, however.
>> ---
>>   src/mesa/program/ir_to_mesa.cpp | 4 ++++
>>   1 file changed, 4 insertions(+)
>>
>> diff --git a/src/mesa/program/ir_to_mesa.cpp
>> b/src/mesa/program/ir_to_mesa.cpp
>> index 10d931c..d9338e0 100644
>> --- a/src/mesa/program/ir_to_mesa.cpp
>> +++ b/src/mesa/program/ir_to_mesa.cpp
>> @@ -2318,6 +2318,10 @@ public:
>>      }
>>
>>   private:
>> +   virtual void set_buffer_offset(unsigned offset)
>> +   {
>> +   }
>> +
>>      virtual void visit_field(const glsl_type *type, const char *name,
>>                               bool row_major);
>>
>>
>
> program_resource_visitor::set_buffer_offset is not pure virtual.   There
> shouldn't be a need to implement it on derived classes.  The
> program_resource_visitor::set_buffer_offset implementation from
> src/compiler/glsl/link_uniforms.cpp should normally be picked up.
>
> So, somehow link_uniforms.cpp 's symbol is being picked up when building
> libgl-gdi target, but not when building the failing targets.
>
> Usually I'd say link order is the cause of this sort of issues.
>
> But the odd thing is that MSVC is failing too, and unlike GCC's, MSVC's
> linker usually is not sensitive to build order.  So the problem might be
> more subtle...
>
> Still it's probably worth checking if tweaking the build order helps in
> anyway.

The problem was our non-clean build was picking up a stale copy of 
libglsl.a from before the glsl/ -> compiler/glsl/ move.  Thanks for 
finding that, Jose.

This patch is not needed.

-Brian





More information about the mesa-dev mailing list