[Mesa-dev] [PATCH] glsl_to_tgsi: don't rely on glsl types when visiting tex instructions

Samuel Pitoiset samuel.pitoiset at gmail.com
Thu Mar 23 23:41:06 UTC 2017



On 03/23/2017 08:30 PM, Nicolai Hähnle wrote:
> On 23.03.2017 20:17, Samuel Pitoiset wrote:
>> Instead add is_cube_shadow like is_cube_array.
>
> I'm curious: why? Anyway, looks fine, so

Preliminary work for ARB_bindless_texture. I will introduce new types 
like sampler2DBindless_type.

>
> Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>
>
>>
>> Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
>> ---
>>  src/mesa/state_tracker/st_glsl_to_tgsi.cpp | 13 ++++++-------
>>  1 file changed, 6 insertions(+), 7 deletions(-)
>>
>> diff --git a/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
>> b/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
>> index 5bfcc73a3b..63de74adcb 100644
>> --- a/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
>> +++ b/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
>> @@ -4133,13 +4133,13 @@ glsl_to_tgsi_visitor::visit(ir_texture *ir)
>>     const glsl_type *sampler_type = ir->sampler->type;
>>     unsigned sampler_array_size = 1, sampler_base = 0;
>>     uint16_t sampler_index = 0;
>> -   bool is_cube_array = false;
>> +   bool is_cube_array = false, is_cube_shadow = false;
>>     unsigned i;
>>
>> -   /* if we are a cube array sampler */
>> -   if ((sampler_type->sampler_dimensionality == GLSL_SAMPLER_DIM_CUBE &&
>> -        sampler_type->sampler_array)) {
>> -      is_cube_array = true;
>> +   /* if we are a cube array sampler or a cube shadow */
>> +   if (sampler_type->sampler_dimensionality == GLSL_SAMPLER_DIM_CUBE) {
>> +      is_cube_array = sampler_type->sampler_array;
>> +      is_cube_shadow = sampler_type->sampler_shadow;
>>     }
>>
>>     if (ir->coordinate) {
>> @@ -4177,8 +4177,7 @@ glsl_to_tgsi_visitor::visit(ir_texture *ir)
>>        }
>>        break;
>>     case ir_txb:
>> -      if (is_cube_array ||
>> -          sampler_type == glsl_type::samplerCubeShadow_type) {
>> +      if (is_cube_array || is_cube_shadow) {
>>           opcode = TGSI_OPCODE_TXB2;
>>        }
>>        else {
>>
>
>


More information about the mesa-dev mailing list