On my oes_shader_io_blocks branch (which enables
GL_OES_geometry_shader), this fixes

deqp-gles31.functional.geometry_shading.instanced.draw_2_instances_geometry_2_invocations
deqp-gles31.functional.geometry_shading.instanced.draw_2_instances_geometry_8_invocations
deqp-gles31.functional.geometry_shading.instanced.draw_4_instances_geometry_2_invocations
deqp-gles31.functional.geometry_shading.instanced.draw_4_instances_geometry_8_invocations
deqp-gles31.functional.geometry_shading.instanced.draw_8_instances_geometry_2_invocations
deqp-gles31.functional.geometry_shading.instanced.draw_8_instances_geometry_8_invocations
deqp-gles31.functional.geometry_shading.instanced.geometry_2_invocations
deqp-gles31.functional.geometry_shading.instanced.geometry_32_invocations
deqp-gles31.functional.geometry_shading.instanced.geometry_8_invocations
deqp-gles31.functional.geometry_shading.instanced.geometry_max_invocations
deqp-gles31.functional.geometry_shading.instanced.geometry_output_different_2_invocations
deqp-gles31.functional.geometry_shading.instanced.geometry_output_different_32_invocations
deqp-gles31.functional.geometry_shading.instanced.geometry_output_different_8_invocations
deqp-gles31.functional.geometry_shading.instanced.geometry_output_different_max_invocations
deqp-gles31.functional.geometry_shading.instanced.invocation_output_vary_by_attribute
deqp-gles31.functional.geometry_shading.instanced.invocation_output_vary_by_texture
deqp-gles31.functional.geometry_shading.instanced.invocation_output_vary_by_uniform
deqp-gles31.functional.geometry_shading.query.primitives_generated_instanced

I see no more instancing related failures.

Tested-by: Ian Romanick <[email protected]>

On 07/20/2016 06:04 PM, Kenneth Graunke wrote:
> We always resort to the pull model for instanced GS inputs.  So, we'd
> better include the VUE handles, or else we can't actually pull anything.
> 
> Cc: [email protected]
> Signed-off-by: Kenneth Graunke <[email protected]>
> ---
>  src/mesa/drivers/dri/i965/brw_fs.cpp | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/src/mesa/drivers/dri/i965/brw_fs.cpp 
> b/src/mesa/drivers/dri/i965/brw_fs.cpp
> index 53e7183..f9af525 100644
> --- a/src/mesa/drivers/dri/i965/brw_fs.cpp
> +++ b/src/mesa/drivers/dri/i965/brw_fs.cpp
> @@ -5581,7 +5581,7 @@ fs_visitor::setup_gs_payload()
>      * have to multiply by VerticesIn to obtain the total storage requirement.
>      */
>     if (8 * vue_prog_data->urb_read_length * nir->info.gs.vertices_in >
> -       max_push_components) {
> +       max_push_components || gs_prog_data->invocations > 1) {
>        gs_prog_data->base.include_vue_handles = true;
>  
>        /* R3..RN: ICP Handles for each incoming vertex (when using pull 
> model) */
> 


Attachment: signature.asc
Description: OpenPGP digital signature

_______________________________________________
mesa-dev mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to