[Mesa-dev] [PATCH 23/30] i965/gs: Create brw_context::vec4_gs structure to track GS program state.

Paul Berry stereotype441 at gmail.com
Thu Aug 22 08:28:04 PDT 2013


On 20 August 2013 11:30, Paul Berry <stereotype441 at gmail.com> wrote:

> ---
>  src/mesa/drivers/dri/i965/brw_context.h | 11 +++++++++++
>  1 file changed, 11 insertions(+)
>
> diff --git a/src/mesa/drivers/dri/i965/brw_context.h
> b/src/mesa/drivers/dri/i965/brw_context.h
> index 55d1174..4f6c767 100644
> --- a/src/mesa/drivers/dri/i965/brw_context.h
> +++ b/src/mesa/drivers/dri/i965/brw_context.h
> @@ -1162,7 +1162,18 @@ struct brw_context
>     } vs;
>
>     struct {
> +      struct brw_vec4_gs_prog_data *prog_data;
> +
> +      drm_intel_bo *scratch_bo;
> +      /** Offset in the program cache to the GS program */
> +      uint32_t prog_offset;
> +
> +      uint32_t bind_bo_offset;
> +   } vec4_gs;
> +
> +   struct {
>        struct brw_gs_prog_data *prog_data;
> +      drm_intel_bo *const_bo;
>

>From our in-person code review yesterday:

1. There are several fields in vs that are present in brw->vs but missing
from brw->vec4_gs (state_offset, surf_offset, sampler_offset, sdc_offset,
regs, classes, ra_reg_to_grf).  Probably some of these need to be added to
brw->vec4_gs, and others need to be moved into a more global spot (perhaps
a new brw->vec4 substructure).  We may want to consider making a C-style
base class that brw->vs and brw->vec4_gs can use to share common elements.

2. It looks like const_bo got added to the wrong place.

3. It's confusing that fixed functionality geometry shaders use brw->gs but
user-defined geometry shaders use brw->vec4_gs.  We agreed that it would be
better to rename brw->gs to brw->ff_gs and brw->vec4_gs to brw->gs.  Note
that there are similar names in other patches that should also be changed,
e.g. CACHE_NEW_VEC4_GS_PROG and BRW_VEC4_GS_PROG.


>
>        bool prog_active;
>        /** Offset in the program cache to the CLIP program pre-gen6 */
> --
> 1.8.3.4
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/mesa-dev/attachments/20130822/6d5413a7/attachment-0001.html>


More information about the mesa-dev mailing list