[Mesa-dev] [PATCH 1/6] i965/vec4: Plumb log_data through so the backend_shader field gets set.
Pohjolainen, Topi
topi.pohjolainen at intel.com
Sun Jul 5 12:43:14 PDT 2015
On Fri, Jul 03, 2015 at 09:29:16AM -0700, Kenneth Graunke wrote:
> On Friday, July 03, 2015 10:50:52 AM Pohjolainen, Topi wrote:
> > On Wed, Jul 01, 2015 at 03:03:31PM -0700, Kenneth Graunke wrote:
> > > Jason plumbed this through a while back in the FS backend, but
> > > apparently we were just passing NULL in the vec4 backend.
> > >
> > > This patch passes brw in as intended.
> > >
> > > Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
> > > ---
> > > src/mesa/drivers/dri/i965/brw_vec4.cpp | 2 +-
> > > src/mesa/drivers/dri/i965/brw_vec4.h | 1 +
> > > src/mesa/drivers/dri/i965/brw_vec4_gs_visitor.cpp | 10 ++++++----
> > > src/mesa/drivers/dri/i965/brw_vec4_gs_visitor.h | 1 +
> > > src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp | 3 ++-
> > > src/mesa/drivers/dri/i965/brw_vec4_vs_visitor.cpp | 4 +++-
> > > src/mesa/drivers/dri/i965/brw_vs.h | 1 +
> > > src/mesa/drivers/dri/i965/gen6_gs_visitor.h | 4 +++-
> > > 8 files changed, 18 insertions(+), 8 deletions(-)
> > >
> > > diff --git a/src/mesa/drivers/dri/i965/brw_vec4.cpp b/src/mesa/drivers/dri/i965/brw_vec4.cpp
> > > index a5c686c..2a56564 100644
> > > --- a/src/mesa/drivers/dri/i965/brw_vec4.cpp
> > > +++ b/src/mesa/drivers/dri/i965/brw_vec4.cpp
> > > @@ -1940,7 +1940,7 @@ brw_vs_emit(struct brw_context *brw,
> > > if (!assembly) {
> > > prog_data->base.dispatch_mode = DISPATCH_MODE_4X2_DUAL_OBJECT;
> > >
> > > - vec4_vs_visitor v(brw->intelScreen->compiler,
> > > + vec4_vs_visitor v(brw->intelScreen->compiler, brw,
> > > c, prog_data, prog, mem_ctx, st_index,
> > > !_mesa_is_gles3(&brw->ctx));
> > > if (!v.run(brw_select_clip_planes(&brw->ctx))) {
> > > diff --git a/src/mesa/drivers/dri/i965/brw_vec4.h b/src/mesa/drivers/dri/i965/brw_vec4.h
> > > index 2ac1693..043557b 100644
> > > --- a/src/mesa/drivers/dri/i965/brw_vec4.h
> > > +++ b/src/mesa/drivers/dri/i965/brw_vec4.h
> > > @@ -77,6 +77,7 @@ class vec4_visitor : public backend_shader, public ir_visitor
> > > {
> > > public:
> > > vec4_visitor(const struct brw_compiler *compiler,
> > > + void *log_data,
> >
> > As far as I can see, all the constructors addressed in this patch are
> > "struct brw_context" aware. Could we use the type "struct brw_context *"
> > instead of "void *"? The pointer is in the end given to shader_perf_log_mesa()
> > which in turn unconditionally casts is to "struct brw_context *".
>
> Jason is trying to separate the compiler backend from the OpenGL driver,
> so we can more easily reuse it...elsewhere :) "elsewhere" does not have
> a brw_context, but will have some other structure. So instead he made the
> logging functions pass a void * closure.
>
> I'm also concerned that if we pass in brw_context that people will start
> using it everywhere. Admittedly, having to type log_data-> might deter
> them, though...
Okay, there is a specific reason for it, and in that case I'm fine with
the interface as is.
More information about the mesa-dev
mailing list