[Mesa-dev] [PATCH 10/14] glsl_to_tgsi: remove subroutine support

Marek Olšák maraeo at gmail.com
Mon Oct 17 14:24:42 UTC 2016


On Mon, Oct 17, 2016 at 4:23 PM, Ilia Mirkin <imirkin at alum.mit.edu> wrote:
> On Mon, Oct 17, 2016 at 10:20 AM, Marek Olšák <maraeo at gmail.com> wrote:
>> I'm adding back this:
>>
>>        options->EmitNoMainReturn =
>>           !screen->get_shader_param(screen, sh, PIPE_SHADER_CAP_SUBROUTINES);
>>
>> And:
>>
>> diff --git a/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
>> b/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
>> index 293654c..5f28d07 100644
>> --- a/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
>> +++ b/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
>> @@ -4176,7 +4176,9 @@ glsl_to_tgsi_visitor::visit(ir_texture *ir)
>>  void
>>  glsl_to_tgsi_visitor::visit(ir_return *ir)
>>  {
>> -   assert(0);
>> +   assert(!ir->get_value());
>> +
>> +   emit_asm(ir, TGSI_OPCODE_RET);
>>  }
>>
>>  void
>> @@ -4416,7 +4418,8 @@ glsl_to_tgsi_visitor::simplify_cmp(void)
>>            inst->dst[1].reladdr || inst->dst[1].reladdr2 ||
>>            tgsi_get_opcode_info(inst->op)->is_branch ||
>>            inst->op == TGSI_OPCODE_CONT ||
>> -          inst->op == TGSI_OPCODE_END) {
>> +          inst->op == TGSI_OPCODE_END ||
>> +          inst->op == TGSI_OPCODE_RET) {
>>           break;
>>        }
>>
>>
>> Hopefully that should restore the RET support.
>
> Thanks. I think that should be enough. I won't be able to test
> anything today, in all likelihood, but probably could tomorrow.
> Perhaps Samuel will have time to play with it.

No worries. I've tested it on softpipe.

Marek


More information about the mesa-dev mailing list