ilo: create the pipeline from the builder

The pipeline needs just the builder to build commands.  It does not need CP.
This commit is contained in:
Chia-I Wu 2014-09-22 11:41:53 +08:00
parent 61c6a294dd
commit 295a3a3ff0
5 changed files with 7 additions and 15 deletions

View file

@ -334,7 +334,7 @@ ilo_3d_create(struct ilo_cp *cp, const struct ilo_dev_info *dev)
list_inithead(&hw3d->queries);
hw3d->pipeline = ilo_3d_pipeline_create(cp, dev);
hw3d->pipeline = ilo_3d_pipeline_create(&cp->builder);
if (!hw3d->pipeline) {
FREE(hw3d);
return NULL;

View file

@ -25,12 +25,9 @@
* Chia-I Wu <olv@lunarg.com>
*/
#include "util/u_prim.h"
#include "intel_winsys.h"
#include "ilo_blitter.h"
#include "ilo_cp.h"
#include "ilo_state.h"
#include "ilo_builder.h"
#include "ilo_3d_pipeline_gen6.h"
#include "ilo_3d_pipeline_gen7.h"
#include "ilo_3d_pipeline.h"
@ -64,7 +61,7 @@ static const struct sample_position sample_position_8x[8] = {
};
struct ilo_3d_pipeline *
ilo_3d_pipeline_create(struct ilo_cp *cp, const struct ilo_dev_info *dev)
ilo_3d_pipeline_create(struct ilo_builder *builder)
{
struct ilo_3d_pipeline *p;
int i;
@ -73,9 +70,8 @@ ilo_3d_pipeline_create(struct ilo_cp *cp, const struct ilo_dev_info *dev)
if (!p)
return NULL;
p->dev = dev;
p->cp = cp;
p->builder = &cp->builder;
p->dev = builder->dev;
p->builder = builder;
switch (ilo_dev_gen(p->dev)) {
case ILO_GEN(6):
@ -94,7 +90,7 @@ ilo_3d_pipeline_create(struct ilo_cp *cp, const struct ilo_dev_info *dev)
p->invalidate_flags = ILO_3D_PIPELINE_INVALIDATE_ALL;
p->workaround_bo = intel_winsys_alloc_buffer(p->cp->winsys,
p->workaround_bo = intel_winsys_alloc_buffer(builder->winsys,
"PIPE_CONTROL workaround", 4096, false);
if (!p->workaround_bo) {
ilo_warn("failed to allocate PIPE_CONTROL workaround bo\n");

View file

@ -58,8 +58,6 @@ enum ilo_3d_pipeline_action {
*/
struct ilo_3d_pipeline {
const struct ilo_dev_info *dev;
struct ilo_cp *cp;
struct ilo_builder *builder;
uint32_t invalidate_flags;
@ -136,7 +134,7 @@ struct ilo_3d_pipeline {
};
struct ilo_3d_pipeline *
ilo_3d_pipeline_create(struct ilo_cp *cp, const struct ilo_dev_info *dev);
ilo_3d_pipeline_create(struct ilo_builder *builder);
void
ilo_3d_pipeline_destroy(struct ilo_3d_pipeline *pipeline);

View file

@ -34,7 +34,6 @@
#include "ilo_builder_3d.h"
#include "ilo_builder_mi.h"
#include "ilo_builder_render.h"
#include "ilo_cp.h"
#include "ilo_query.h"
#include "ilo_shader.h"
#include "ilo_state.h"

View file

@ -31,7 +31,6 @@
#include "ilo_blitter.h"
#include "ilo_builder_3d.h"
#include "ilo_builder_render.h"
#include "ilo_cp.h"
#include "ilo_shader.h"
#include "ilo_state.h"
#include "ilo_3d_pipeline.h"