summaryrefslogtreecommitdiffstats
path: root/src/mesa/drivers/dri/i965/genX_blorp_exec.c
diff options
context:
space:
mode:
authorJason Ekstrand <jason.ekstrand@intel.com>2016-08-18 10:02:03 -0700
committerJason Ekstrand <jason.ekstrand@intel.com>2016-08-29 12:17:34 -0700
commitbc159ff0f7364970dbcb4c73d47c57ddb1aa8303 (patch)
treeaaf86e0fa90020c49f099f09bbbfc1dde7eeb298 /src/mesa/drivers/dri/i965/genX_blorp_exec.c
parentcea360a7087f9533ce596f052070195254a28c9e (diff)
downloadexternal_mesa3d-bc159ff0f7364970dbcb4c73d47c57ddb1aa8303.zip
external_mesa3d-bc159ff0f7364970dbcb4c73d47c57ddb1aa8303.tar.gz
external_mesa3d-bc159ff0f7364970dbcb4c73d47c57ddb1aa8303.tar.bz2
i965/blorp: Add an "exec" function pointer to blorp_context
Signed-off-by: Jason Ekstrand <jason@jlekstrand.net> Reviewed-by: Topi Pohjolainen <topi.pohjolainen@intel.com>
Diffstat (limited to 'src/mesa/drivers/dri/i965/genX_blorp_exec.c')
-rw-r--r--src/mesa/drivers/dri/i965/genX_blorp_exec.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/mesa/drivers/dri/i965/genX_blorp_exec.c b/src/mesa/drivers/dri/i965/genX_blorp_exec.c
index 2452729..a735f3b 100644
--- a/src/mesa/drivers/dri/i965/genX_blorp_exec.c
+++ b/src/mesa/drivers/dri/i965/genX_blorp_exec.c
@@ -31,6 +31,8 @@
#include "genX_blorp_exec.h"
+#include "brw_blorp.h"
+
static void *
blorp_emit_dwords(struct blorp_batch *batch, unsigned n)
{
@@ -172,9 +174,11 @@ blorp_emit_3dstate_multisample(struct blorp_batch *batch, unsigned samples)
}
void
-genX(blorp_exec)(struct brw_context *brw,
+genX(blorp_exec)(struct blorp_batch *batch,
const struct brw_blorp_params *params)
{
+ assert(batch->blorp->driver_ctx == batch->driver_batch);
+ struct brw_context *brw = batch->driver_batch;
struct gl_context *ctx = &brw->ctx;
const uint32_t estimated_max_batch_usage = GEN_GEN >= 8 ? 1800 : 1500;
bool check_aperture_failed_once = false;
@@ -213,10 +217,7 @@ retry:
brw_emit_depth_stall_flushes(brw);
- struct blorp_batch batch;
- blorp_batch_init(&brw->blorp, &batch, brw);
- blorp_exec(&batch, params);
- blorp_batch_finish(&batch);
+ blorp_exec(batch, params);
/* Make sure we didn't wrap the batch unintentionally, and make sure we
* reserved enough space that a wrap will never happen.