On 07/29/2015 02:50 PM, Ian Romanick wrote:
> On 07/29/2015 07:01 AM, Samuel Iglesias Gonsalvez wrote:
>> From: Iago Toral Quiroga <ito...@igalia.com>
>>
>> The GLSL ES spec specifies default precision qualifiers for certain types,
>> so populate the symbol table with these.
>>
>> Notice that the desktop GLSL spec also indicates defaults for some types
>> but this is not really useful since precision qualifiers are completely
>> ignored in desktop GLSL.
>> ---
>>  src/glsl/glsl_parser.yy | 14 ++++++++++++++
>>  1 file changed, 14 insertions(+)
>>
>> diff --git a/src/glsl/glsl_parser.yy b/src/glsl/glsl_parser.yy
>> index e66b80a..f55fd23 100644
>> --- a/src/glsl/glsl_parser.yy
>> +++ b/src/glsl/glsl_parser.yy
>> @@ -310,6 +310,20 @@ translation_unit:
>>     {
>>        delete state->symbols;
>>        state->symbols = new(ralloc_parent(state)) glsl_symbol_table;
>> +      if (state->es_shader) {
>> +         if (state->stage == MESA_SHADER_FRAGMENT) {
>> +            state->symbols->add_default_precision_qualifier("int", 
>> ast_precision_medium);
>> +            state->symbols->add_default_precision_qualifier("sampler2D", 
>> ast_precision_low);
>> +            state->symbols->add_default_precision_qualifier("samplerCube", 
>> ast_precision_low);
>> +            
>> state->symbols->add_default_precision_qualifier("samplerExternalOES", 
>> ast_precision_low);
>> +         } else {
>> +            state->symbols->add_default_precision_qualifier("float", 
>> ast_precision_high);
>> +            state->symbols->add_default_precision_qualifier("int", 
>> ast_precision_high);
>> +            state->symbols->add_default_precision_qualifier("sampler2D", 
>> ast_precision_low);
>> +            state->symbols->add_default_precision_qualifier("samplerCube", 
>> ast_precision_low);
>> +            
>> state->symbols->add_default_precision_qualifier("samplerExternalOES", 
>> ast_precision_low);
>> +         }
> 
> What about sampler types added in ES 3.0 or by extensions (e.g., sampler3D)?

I see this is addressed in the next patch.  Never mind.

>> +      }
>>        _mesa_glsl_initialize_types(state);
>>     }
>>     ;

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to