[Mesa-dev] [PATCH 04/36] i965: Add an isl_device to the brw_context
Jason Ekstrand
jason at jlekstrand.net
Thu Jun 30 05:57:43 UTC 2016
On Jun 29, 2016 10:28 PM, "Pohjolainen, Topi" <topi.pohjolainen at intel.com>
wrote:
>
> On Wed, Jun 29, 2016 at 05:37:23PM -0700, Jason Ekstrand wrote:
> > ---
> > src/mesa/drivers/dri/i965/brw_blorp.c | 6 +-----
> > src/mesa/drivers/dri/i965/brw_context.c | 2 ++
> > src/mesa/drivers/dri/i965/brw_context.h | 4 ++++
> > src/mesa/drivers/dri/i965/brw_wm_surface_state.c | 12 ++----------
> > 4 files changed, 9 insertions(+), 15 deletions(-)
>
> This looks pretty standalone with no dependencies to the earlier series.
Could
> we include this before you push them - you could drop the TODO-parts in
the
> original patches? Or am I missing something?
Sure, I can do that. Probably cleaner that way.
> >
> > diff --git a/src/mesa/drivers/dri/i965/brw_blorp.c
b/src/mesa/drivers/dri/i965/brw_blorp.c
> > index f4c80bc..8e36080 100644
> > --- a/src/mesa/drivers/dri/i965/brw_blorp.c
> > +++ b/src/mesa/drivers/dri/i965/brw_blorp.c
> > @@ -280,10 +280,6 @@ brw_blorp_emit_surface_state(struct brw_context
*brw,
> > uint32_t read_domains, uint32_t
write_domain,
> > bool is_render_target)
> > {
> > - /* TODO: This should go in the context */
> > - struct isl_device isl_dev;
> > - isl_device_init(&isl_dev, brw->intelScreen->devinfo,
brw->has_swizzling);
> > -
> > const struct surface_state_info ss_info =
surface_state_infos[brw->gen];
> >
> > struct isl_surf surf;
> > @@ -375,7 +371,7 @@ brw_blorp_emit_surface_state(struct brw_context
*brw,
> >
> > const uint32_t mocs = is_render_target ? ss_info.rb_mocs :
ss_info.tex_mocs;
> >
> > - isl_surf_fill_state(&isl_dev, dw, .surf = &surf, .view = &view,
> > + isl_surf_fill_state(&brw->isl_dev, dw, .surf = &surf, .view = &view,
> > .address = surface->mt->bo->offset64 + offset,
> > .aux_surf = aux_surf, .aux_usage = aux_usage,
> > .aux_address = aux_offset,
> > diff --git a/src/mesa/drivers/dri/i965/brw_context.c
b/src/mesa/drivers/dri/i965/brw_context.c
> > index c7a66cb..3b9ec47 100644
> > --- a/src/mesa/drivers/dri/i965/brw_context.c
> > +++ b/src/mesa/drivers/dri/i965/brw_context.c
> > @@ -893,6 +893,8 @@ brwCreateContext(gl_api api,
> > brw->must_use_separate_stencil = devinfo->must_use_separate_stencil;
> > brw->has_swizzling = screen->hw_has_swizzling;
> >
> > + isl_device_init(&brw->isl_dev, devinfo, screen->hw_has_swizzling);
> > +
> > brw->vs.base.stage = MESA_SHADER_VERTEX;
> > brw->tcs.base.stage = MESA_SHADER_TESS_CTRL;
> > brw->tes.base.stage = MESA_SHADER_TESS_EVAL;
> > diff --git a/src/mesa/drivers/dri/i965/brw_context.h
b/src/mesa/drivers/dri/i965/brw_context.h
> > index 6b6cfdf..996888b 100644
> > --- a/src/mesa/drivers/dri/i965/brw_context.h
> > +++ b/src/mesa/drivers/dri/i965/brw_context.h
> > @@ -40,6 +40,8 @@
> > #include "brw_compiler.h"
> > #include "intel_aub.h"
> >
> > +#include "isl/isl.h"
> > +
> > #ifdef __cplusplus
> > extern "C" {
> > /* Evil hack for using libdrm in a c++ compiler. */
> > @@ -889,6 +891,8 @@ struct brw_context
> > */
> > bool needs_unlit_centroid_workaround;
> >
> > + struct isl_device isl_dev;
> > +
> > GLuint NewGLState;
> > struct {
> > struct brw_state_flags pipelines[BRW_NUM_PIPELINES];
> > diff --git a/src/mesa/drivers/dri/i965/brw_wm_surface_state.c
b/src/mesa/drivers/dri/i965/brw_wm_surface_state.c
> > index 3bff86d..ae1b900 100644
> > --- a/src/mesa/drivers/dri/i965/brw_wm_surface_state.c
> > +++ b/src/mesa/drivers/dri/i965/brw_wm_surface_state.c
> > @@ -79,10 +79,6 @@ brw_emit_surface_state(struct brw_context *brw,
> > uint32_t *surf_offset, int surf_index,
> > unsigned read_domains, unsigned write_domains)
> > {
> > - /* TODO: This should go in the context */
> > - struct isl_device isl_dev;
> > - isl_device_init(&isl_dev, brw->intelScreen->devinfo,
brw->has_swizzling);
> > -
> > const struct surface_state_info ss_info =
surface_state_infos[brw->gen];
> >
> > struct isl_surf surf;
> > @@ -111,7 +107,7 @@ brw_emit_surface_state(struct brw_context *brw,
> > ss_info.num_dwords * 4,
ss_info.ss_align,
> > surf_index, surf_offset);
> >
> > - isl_surf_fill_state(&isl_dev, dw, .surf = &surf, .view = view,
> > + isl_surf_fill_state(&brw->isl_dev, dw, .surf = &surf, .view = view,
> > .address = mt->bo->offset64 + mt->offset,
> > .aux_surf = aux_surf, .aux_usage = aux_usage,
> > .aux_address = aux_offset,
> > @@ -496,17 +492,13 @@ brw_emit_buffer_surface_state(struct brw_context
*brw,
> > unsigned pitch,
> > bool rw)
> > {
> > - /* TODO: This should go in the context */
> > - struct isl_device isl_dev;
> > - isl_device_init(&isl_dev, brw->intelScreen->devinfo,
brw->has_swizzling);
> > -
> > const struct surface_state_info ss_info =
surface_state_infos[brw->gen];
> >
> > uint32_t *dw = brw_state_batch(brw, AUB_TRACE_SURFACE_STATE,
> > ss_info.num_dwords * 4,
ss_info.ss_align,
> > out_offset);
> >
> > - isl_buffer_fill_state(&isl_dev, dw,
> > + isl_buffer_fill_state(&brw->isl_dev, dw,
> > .address = (bo ? bo->offset64 : 0) +
buffer_offset,
> > .size = buffer_size,
> > .format = surface_format,
> > --
> > 2.5.0.400.gff86faf
> >
> > _______________________________________________
> > mesa-dev mailing list
> > mesa-dev at lists.freedesktop.org
> > https://lists.freedesktop.org/mailman/listinfo/mesa-dev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20160629/922c3732/attachment.html>
More information about the mesa-dev
mailing list