aboutsummaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/freedreno/a6xx
diff options
context:
space:
mode:
authorRob Clark <[email protected]>2019-08-01 08:31:25 -0700
committerRob Clark <[email protected]>2019-08-13 08:11:26 -0700
commitf0b91730a14bab95e5a59f62cb0159d549a5750e (patch)
tree972df2d3cdb639e60d7d4309022263fbf268a7b9 /src/gallium/drivers/freedreno/a6xx
parent53667a43c4fbe0a902b5516ff263cfcb07ee1175 (diff)
freedreno/a6xx: stop using ir3_emit_{vs,fs}_consts()
Should be no functional change. Next step is to re-arrange various const state into different stateobjs. Signed-off-by: Rob Clark <[email protected]>
Diffstat (limited to 'src/gallium/drivers/freedreno/a6xx')
-rw-r--r--src/gallium/drivers/freedreno/a6xx/fd6_emit.c25
1 files changed, 23 insertions, 2 deletions
diff --git a/src/gallium/drivers/freedreno/a6xx/fd6_emit.c b/src/gallium/drivers/freedreno/a6xx/fd6_emit.c
index 956e6dfb405..69d0c3eee95 100644
--- a/src/gallium/drivers/freedreno/a6xx/fd6_emit.c
+++ b/src/gallium/drivers/freedreno/a6xx/fd6_emit.c
@@ -934,7 +934,19 @@ fd6_emit_state(struct fd_ringbuffer *ring, struct fd6_emit *emit)
struct fd_ringbuffer *vsconstobj = fd_submit_new_ringbuffer(
ctx->batch->submit, 0x1000, FD_RINGBUFFER_STREAMING);
- ir3_emit_vs_consts(vp, vsconstobj, ctx, emit->info);
+ ir3_emit_user_consts(ctx->screen, vp, vsconstobj,
+ &ctx->constbuf[PIPE_SHADER_VERTEX]);
+ ir3_emit_ubos(ctx->screen, vp, vsconstobj,
+ &ctx->constbuf[PIPE_SHADER_VERTEX]);
+ ir3_emit_immediates(ctx->screen, vp, vsconstobj);
+ ir3_emit_ssbo_sizes(ctx->screen, vp, vsconstobj,
+ &ctx->shaderbuf[PIPE_SHADER_VERTEX]);
+ ir3_emit_image_dims(ctx->screen, vp, vsconstobj,
+ &ctx->shaderimg[PIPE_SHADER_VERTEX]);
+
+ if (ir3_needs_vs_driver_params(vp))
+ ir3_emit_vs_driver_params(vp, vsconstobj, ctx, emit->info);
+
fd6_emit_add_group(emit, vsconstobj, FD6_GROUP_VS_CONST, 0x7);
fd_ringbuffer_del(vsconstobj);
}
@@ -943,7 +955,16 @@ fd6_emit_state(struct fd_ringbuffer *ring, struct fd6_emit *emit)
struct fd_ringbuffer *fsconstobj = fd_submit_new_ringbuffer(
ctx->batch->submit, 0x1000, FD_RINGBUFFER_STREAMING);
- ir3_emit_fs_consts(fp, fsconstobj, ctx);
+ ir3_emit_user_consts(ctx->screen, fp, fsconstobj,
+ &ctx->constbuf[PIPE_SHADER_FRAGMENT]);
+ ir3_emit_ubos(ctx->screen, fp, fsconstobj,
+ &ctx->constbuf[PIPE_SHADER_FRAGMENT]);
+ ir3_emit_immediates(ctx->screen, fp, fsconstobj);
+ ir3_emit_ssbo_sizes(ctx->screen, fp, fsconstobj,
+ &ctx->shaderbuf[PIPE_SHADER_FRAGMENT]);
+ ir3_emit_image_dims(ctx->screen, fp, fsconstobj,
+ &ctx->shaderimg[PIPE_SHADER_FRAGMENT]);
+
fd6_emit_add_group(emit, fsconstobj, FD6_GROUP_FS_CONST, 0x6);
fd_ringbuffer_del(fsconstobj);
}