summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers
diff options
context:
space:
mode:
authorKenneth Graunke <[email protected]>2018-12-06 23:29:20 -0800
committerKenneth Graunke <[email protected]>2019-02-21 10:26:11 -0800
commitb358c4b92b1209fe0bbb9170f3684da0e1504d16 (patch)
tree3a85f9369e41217031e6de4f731a3e4c052ecf3b /src/gallium/drivers
parentb92ca4d0f6f3fae558ce83477599f7ae6d29c156 (diff)
iris: Use a surface state fill helper
This will check aux_usage eventually
Diffstat (limited to 'src/gallium/drivers')
-rw-r--r--src/gallium/drivers/iris/iris_state.c37
1 files changed, 19 insertions, 18 deletions
diff --git a/src/gallium/drivers/iris/iris_state.c b/src/gallium/drivers/iris/iris_state.c
index cc3060c1bba..059cbca08ea 100644
--- a/src/gallium/drivers/iris/iris_state.c
+++ b/src/gallium/drivers/iris/iris_state.c
@@ -1503,6 +1503,22 @@ fill_buffer_surface_state(struct isl_device *isl_dev,
.mocs = MOCS_WB);
}
+static void
+fill_surface_state(struct isl_device *isl_dev,
+ void *map,
+ struct iris_resource *res,
+ struct isl_view *view)
+{
+ struct isl_surf_fill_state_info f = {
+ .surf = &res->surf,
+ .view = view,
+ .mocs = MOCS_WB,
+ .address = res->bo->gtt_offset,
+ };
+
+ isl_surf_fill_state_s(isl_dev, map, &f);
+}
+
/**
* The pipe->create_sampler_view() driver hook.
*/
@@ -1575,12 +1591,7 @@ iris_create_sampler_view(struct pipe_context *ctx,
isv->view.array_len =
tmpl->u.tex.last_layer - tmpl->u.tex.first_layer + 1;
- isl_surf_fill_state(&screen->isl_dev, map,
- .surf = &isv->res->surf, .view = &isv->view,
- .mocs = MOCS_WB,
- .address = isv->res->bo->gtt_offset);
- // .aux_surf =
- // .clear_color = clear_color,
+ fill_surface_state(&screen->isl_dev, map, isv->res, &isv->view);
} else {
fill_buffer_surface_state(&screen->isl_dev, isv->res->bo, map,
isv->view.format, tmpl->u.buf.offset,
@@ -1677,12 +1688,7 @@ iris_create_surface(struct pipe_context *ctx,
struct iris_bo *state_bo = iris_resource_bo(surf->surface_state.res);
surf->surface_state.offset += iris_bo_offset_from_base_address(state_bo);
- isl_surf_fill_state(&screen->isl_dev, map,
- .surf = &res->surf, .view = &surf->view,
- .mocs = MOCS_WB,
- .address = res->bo->gtt_offset);
- // .aux_surf =
- // .clear_color = clear_color,
+ fill_surface_state(&screen->isl_dev, map, res, &surf->view);
return psurf;
}
@@ -1749,12 +1755,7 @@ iris_set_shader_images(struct pipe_context *ctx,
.usage = usage,
};
- isl_surf_fill_state(&screen->isl_dev, map,
- .surf = &res->surf, .view = &view,
- .mocs = MOCS_WB,
- .address = res->bo->gtt_offset);
- // .aux_surf =
- // .clear_color = clear_color,
+ fill_surface_state(&screen->isl_dev, map, res, &view);
} else {
fill_buffer_surface_state(&screen->isl_dev, res->bo, map,
isl_format, img->u.buf.offset,