On Mon, Nov 14, 2016 at 5:41 PM, Kenneth Graunke <kenn...@whitecape.org>
wrote:

> We need to calculate the number of vec4 slots correctly.
>
> Signed-off-by: Kenneth Graunke <kenn...@whitecape.org>
> ---
>  src/mesa/drivers/dri/i965/brw_fs.h       | 2 +-
>  src/mesa/drivers/dri/i965/brw_fs_nir.cpp | 4 +++-
>  2 files changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/src/mesa/drivers/dri/i965/brw_fs.h
> b/src/mesa/drivers/dri/i965/brw_fs.h
> index da01174..6446a61 100644
> --- a/src/mesa/drivers/dri/i965/brw_fs.h
> +++ b/src/mesa/drivers/dri/i965/brw_fs.h
> @@ -191,7 +191,7 @@ public:
>
>     void emit_nir_code();
>     void nir_setup_single_output_varying(fs_reg *reg, const glsl_type
> *type,
> -                                        unsigned *location);
> +                                        bool is_compact, unsigned
> *location);
>

Something appears to be missing here.  You change a prototype but I don't
see you changing the actual function anywhere.


>     void nir_setup_outputs();
>     void nir_setup_uniforms();
>     void nir_emit_system_values();
> diff --git a/src/mesa/drivers/dri/i965/brw_fs_nir.cpp
> b/src/mesa/drivers/dri/i965/brw_fs_nir.cpp
> index e770502..82e22c2 100644
> --- a/src/mesa/drivers/dri/i965/brw_fs_nir.cpp
> +++ b/src/mesa/drivers/dri/i965/brw_fs_nir.cpp
> @@ -55,7 +55,9 @@ fs_visitor::nir_setup_outputs()
>        return;
>
>     nir_foreach_variable(var, &nir->outputs) {
> -      const unsigned vec4s = type_size_vec4(var->type);
> +      const unsigned vec4s =
> +         var->data.compact ? DIV_ROUND_UP(glsl_get_length(var->type), 4)
> +                           : type_size_vec4(var->type);
>        fs_reg reg = bld.vgrf(BRW_REGISTER_TYPE_F, 4 * vec4s);
>        for (unsigned i = 0; i < vec4s; i++) {
>           if (outputs[var->data.driver_location + i].file == BAD_FILE)
> --
> 2.10.2
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
>
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to