--- 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(-)
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