[Mesa-dev] [PATCH 2/2] glsl_to_tgsi: use UARL instead of I2F and ARL
Brian Paul
brianp at vmware.com
Sat Sep 10 10:07:30 PDT 2011
I guess my question is: do the drivers need to be updated for
TGSI_OPCODE_UARL? Or will this only be emitted when the driver
supports integer operations? If that's the case, please say so in the
commit message or code.
Otherwise: Reviewed-by: Brian Paul <brianp at vmware.com>
On 09/10/2011 10:48 AM, Bryan Cain wrote:
> Disregard this, I meant to send this for patch 1/2 and not 2/2. This
> patch doesn't contain any Gallium interface changes.
>
> Bryan
>
> On 09/10/2011 11:43 AM, Bryan Cain wrote:
>> Can one of the Gallium interface maintainers please review this patch so
>> I can push it?
>>
>> Bryan
>>
>> On 09/02/2011 11:09 AM, Bryan Cain wrote:
>>> ---
>>> src/mesa/state_tracker/st_glsl_to_tgsi.cpp | 18 +++++++-----------
>>> 1 files changed, 7 insertions(+), 11 deletions(-)
>>>
>>> diff --git a/src/mesa/state_tracker/st_glsl_to_tgsi.cpp b/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
>>> index e2857ed..05d4d33 100644
>>> --- a/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
>>> +++ b/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
>>> @@ -512,7 +512,7 @@ glsl_to_tgsi_visitor::emit(ir_instruction *ir, unsigned op,
>>>
>>> inst->function = NULL;
>>>
>>> - if (op == TGSI_OPCODE_ARL)
>>> + if (op == TGSI_OPCODE_ARL || op == TGSI_OPCODE_UARL)
>>> this->num_address_regs = 1;
>>>
>>> /* Update indirect addressing status used by TGSI */
>>> @@ -724,16 +724,12 @@ void
>>> glsl_to_tgsi_visitor::emit_arl(ir_instruction *ir,
>>> st_dst_reg dst, st_src_reg src0)
>>> {
>>> - st_src_reg tmp = get_temp(glsl_type::float_type);
>>> + int op = TGSI_OPCODE_ARL;
>>>
>>> - if (src0.type == GLSL_TYPE_INT)
>>> - emit(NULL, TGSI_OPCODE_I2F, st_dst_reg(tmp), src0);
>>> - else if (src0.type == GLSL_TYPE_UINT)
>>> - emit(NULL, TGSI_OPCODE_U2F, st_dst_reg(tmp), src0);
>>> - else
>>> - tmp = src0;
>>> -
>>> - emit(NULL, TGSI_OPCODE_ARL, dst, tmp);
>>> + if (src0.type == GLSL_TYPE_INT || src0.type == GLSL_TYPE_UINT)
>>> + op = TGSI_OPCODE_UARL;
>>> +
>>> + emit(NULL, op, dst, src0);
>>> }
>>>
>>> /**
>> _______________________________________________
>> mesa-dev mailing list
>> mesa-dev at lists.freedesktop.org
>> http://lists.freedesktop.org/mailman/listinfo/mesa-dev
>>
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev
More information about the mesa-dev
mailing list