[Mesa-dev] [PATCH 21/26] i965: Make fs_visitor::emit_urb_writes set EOT for TES as well.

Kristian Høgsberg hoegsberg at gmail.com
Fri Dec 11 13:02:45 PST 2015


Kenneth Graunke <kenneth at whitecape.org> writes:

> Tessellation evaluation shaders work almost identically to vertex
> shaders - we have a set of URB writes at the end of the program, and the
> last one should terminate it.
>
> Geometry shaders really are the special case, where multiple
> EmitVertex() calls trigger URB writes in the middle of the program.
>
> Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>

Reviewed-by: Kristian Høgsberg <krh at bitplanet.net>

> ---
>  src/mesa/drivers/dri/i965/brw_fs_visitor.cpp | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp b/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp
> index a9a20aa..0582e78 100644
> --- a/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp
> +++ b/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp
> @@ -870,7 +870,7 @@ fs_visitor::emit_urb_writes(const fs_reg &gs_vertex_count)
>                             header_size);
>  
>           fs_inst *inst = abld.emit(opcode, reg_undef, payload);
> -         inst->eot = last && stage == MESA_SHADER_VERTEX;
> +         inst->eot = last && stage != MESA_SHADER_GEOMETRY;
>           inst->mlen = length + header_size;
>           inst->offset = urb_offset;
>           urb_offset = starting_urb_offset + slot + 1;
> -- 
> 2.6.2
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev


More information about the mesa-dev mailing list