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

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


On Mon, Oct 17, 2016 at 3:48 PM, Ilia Mirkin <imirkin at alum.mit.edu> wrote:
> On Mon, Oct 17, 2016 at 9:46 AM, Marek Olšák <maraeo at gmail.com> wrote:
>> On Mon, Oct 17, 2016 at 3:44 PM, Ilia Mirkin <imirkin at alum.mit.edu> wrote:
>>> nouveau supports PIPE_SHADER_CAP_SUBROUTINES and properly details with
>>> RET opcodes. The alternative is that the st lowers the whole thing
>>> into a loop which adds IMHO unnecessary complexity to the resulting
>>> code. Any reason not to leave that in place?
>>
>> It had already been disabled and probably broken too. If you have no
>> interest in fixing and using it within a reasonable time frame, there
>> is no reason for the code to be there.
>
> What's broken about it? To the best of my knowledge, it's working
> fine. I'm specifically talking about RET (from the "MAIN" function),
> not subroutines in general.

OK. I thought you were talking about subroutines.

The RET opcode support can stay there if somebody wants it very much.

However, have you seen any apps using "return" in "main"?
Is there any serious performance concern with lowering "return" to a
conditional branch, such that it's beneficial for drivers to implement
RET?
If so, shouldn't it be fixed in the GLSL compiler instead?
Is it worth having a rarely-used codepath in glsl_to_tgsi that most
drivers skip anyway?

Marek


More information about the mesa-dev mailing list