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

Axel Davy axel.davy at ens.fr
Fri Jan 20 22:48:54 UTC 2017


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