[Mesa-dev] [PATCH v2 3/5] st/nine: set the MUL_ZERO_WINS flag when supported

Ilia Mirkin imirkin at alum.mit.edu
Fri Jan 20 23:34:03 UTC 2017


Thanks!

In practice, on nv50, it checks the vertex shader for the flag, and on
nvc0 it's per-stage (since they killed the global override on
kepler+).

On Fri, Jan 20, 2017 at 5:48 PM, Axel Davy <axel.davy at ens.fr> wrote:
> With this patch, there is one case where we hit the "undefined case" of the
> spec (mismatch between different shaders): With streamout we use a dummy
> pixel created by utils instead of nine_shader.
>
> As we use software renderers for the feature doing the streamout, I guess
> that's ok for now.
>
> Thanks for the patches. I hope support from more drivers will follow, and
> that a GL extension will be implemented for wine.
>
> Patches 1-3 are Reviewed-by: <axel.davy at ens.fr>
>
>
> On 17/01/2017 04:28, Ilia Mirkin wrote:
>>
>> Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
>> ---
>>
>> v1 -> v2: make conditional on the cap being there
>>
>>   src/gallium/state_trackers/nine/nine_shader.c | 3 +++
>>   1 file changed, 3 insertions(+)
>>
>> diff --git a/src/gallium/state_trackers/nine/nine_shader.c
>> b/src/gallium/state_trackers/nine/nine_shader.c
>> index 0a75c07..95bc6ec 100644
>> --- a/src/gallium/state_trackers/nine/nine_shader.c
>> +++ b/src/gallium/state_trackers/nine/nine_shader.c
>> @@ -3564,6 +3564,9 @@ nine_translate_shader(struct NineDevice9 *device,
>> struct nine_shader_info *info,
>>               ureg_property(tx->ureg, TGSI_PROPERTY_FS_COORD_PIXEL_CENTER,
>> TGSI_FS_COORD_PIXEL_CENTER_INTEGER);
>>       }
>>   +    if (GET_CAP(TGSI_MUL_ZERO_WINS))
>> +       ureg_property(tx->ureg, TGSI_PROPERTY_MUL_ZERO_WINS, 1);
>> +
>>       while (!sm1_parse_eof(tx) && !tx->failure)
>>           sm1_parse_instruction(tx);
>>       tx->parse++; /* for byte_size */
>
>
>


More information about the mesa-dev mailing list