[Mesa-dev] [PATCH] st/mesa: set result writemask based on ir type

Ilia Mirkin imirkin at alum.mit.edu
Wed Mar 8 16:43:35 UTC 2017


Could I get a review for this? I'll do some testing on it, hopefully
tonight, but I don't really anticipate issues. Seems like it should be
obviously correct - we do the same thing in visit(ir_operation *).

On Sat, Mar 4, 2017 at 2:05 PM, Ilia Mirkin <imirkin at alum.mit.edu> wrote:
> On Sat, Mar 4, 2017 at 1:52 PM, Ilia Mirkin <imirkin at alum.mit.edu> wrote:
>> This prevents textureQueryLevels, which maps as LODQ, from ending up
>
> Erm, that should of course be textureQueryLod which maps to LODQ.
>
>> with a xyzw writemask, which is illegal.
>>
>> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=100061
>> Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
>> Cc: mesa-stable at lists.freedesktop.org
>> ---
>>
>> Untested beyond making sure that the shader in the above bug ends up with
>> a .xy writemask. I don't have access to a reasonable testing rig right now,
>> would be ideal if someone could give it a run through theirs...
>>
>>  src/mesa/state_tracker/st_glsl_to_tgsi.cpp | 1 +
>>  1 file changed, 1 insertion(+)
>>
>> diff --git a/src/mesa/state_tracker/st_glsl_to_tgsi.cpp b/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
>> index af41bdb..63b681f 100644
>> --- a/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
>> +++ b/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
>> @@ -4165,6 +4165,7 @@ glsl_to_tgsi_visitor::visit(ir_texture *ir)
>>      */
>>     result_src = get_temp(ir->type);
>>     result_dst = st_dst_reg(result_src);
>> +   result_dst.writemask = (1 << ir->type->vector_elements) - 1;
>>
>>     switch (ir->op) {
>>     case ir_tex:
>> --
>> 2.10.2
>>


More information about the mesa-dev mailing list