From 64ad96a9f4dec0724d7276d32de59cc621fccb55 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Tue, 12 Aug 2014 16:35:33 -0700 Subject: vc4: Move the deref of the color buffer for simulator into the simulator. At some point I'm going to want to move the information necessary for the host buffer upload/download into the BO so that it's independent of the current vc4->framebuffer, but for now this fixes pointless derefs on non-simulator in vc4_context.c since the dump_fbo() removal --- src/gallium/drivers/vc4/vc4_context.c | 5 +---- src/gallium/drivers/vc4/vc4_context.h | 3 +-- src/gallium/drivers/vc4/vc4_simulator.c | 4 ++-- 3 files changed, 4 insertions(+), 8 deletions(-) diff --git a/src/gallium/drivers/vc4/vc4_context.c b/src/gallium/drivers/vc4/vc4_context.c index 8073e79..2fc571a 100644 --- a/src/gallium/drivers/vc4/vc4_context.c +++ b/src/gallium/drivers/vc4/vc4_context.c @@ -144,9 +144,6 @@ vc4_flush(struct pipe_context *pctx) vc4_setup_rcl(vc4); - struct vc4_surface *csurf = vc4_surface(vc4->framebuffer.cbufs[0]); - struct vc4_resource *ctex = vc4_resource(csurf->base.texture); - struct drm_vc4_submit_cl submit; memset(&submit, 0, sizeof(submit)); @@ -169,7 +166,7 @@ vc4_flush(struct pipe_context *pctx) #ifndef USE_VC4_SIMULATOR ret = drmIoctl(vc4->fd, DRM_IOCTL_VC4_SUBMIT_CL, &submit); #else - ret = vc4_simulator_flush(vc4, &submit, csurf); + ret = vc4_simulator_flush(vc4, &submit); #endif if (ret) errx(1, "VC4 submit failed\n"); diff --git a/src/gallium/drivers/vc4/vc4_context.h b/src/gallium/drivers/vc4/vc4_context.h index fe51072..bdd174c 100644 --- a/src/gallium/drivers/vc4/vc4_context.h +++ b/src/gallium/drivers/vc4/vc4_context.h @@ -215,8 +215,7 @@ void vc4_state_init(struct pipe_context *pctx); void vc4_program_init(struct pipe_context *pctx); void vc4_simulator_init(struct vc4_screen *screen); int vc4_simulator_flush(struct vc4_context *vc4, - struct drm_vc4_submit_cl *args, - struct vc4_surface *color_surf); + struct drm_vc4_submit_cl *args); void vc4_write_uniforms(struct vc4_context *vc4, struct vc4_compiled_shader *shader, diff --git a/src/gallium/drivers/vc4/vc4_simulator.c b/src/gallium/drivers/vc4/vc4_simulator.c index 827d617..cedd401 100644 --- a/src/gallium/drivers/vc4/vc4_simulator.c +++ b/src/gallium/drivers/vc4/vc4_simulator.c @@ -226,9 +226,9 @@ fail: } int -vc4_simulator_flush(struct vc4_context *vc4, struct drm_vc4_submit_cl *args, - struct vc4_surface *csurf) +vc4_simulator_flush(struct vc4_context *vc4, struct drm_vc4_submit_cl *args) { + struct vc4_surface *csurf = vc4_surface(vc4->framebuffer.cbufs[0]); struct vc4_resource *ctex = vc4_resource(csurf->base.texture); uint32_t winsys_stride = ctex->bo->simulator_winsys_stride; uint32_t sim_stride = ctex->slices[0].stride; -- cgit v1.1