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? > > 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@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/mesa-dev _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev