diff options
author | Eric Anholt <[email protected]> | 2014-07-21 11:27:35 -0700 |
---|---|---|
committer | Eric Anholt <[email protected]> | 2014-08-11 14:45:28 -0700 |
commit | a8f2bf0f51222a96a49dfb3d6f9b36d3e54d08cd (patch) | |
tree | 5f7ab98c9ba5a69d761b253560908ac9c2358a81 /src/gallium/drivers/vc4/vc4_context.c | |
parent | 6a5ece12aac0f079dff3aaf00b2ec5c420b9b1f8 (diff) |
vc4: Rewrite the kernel ABI to support texture uniform relocation.
This required building a shader parser that would walk the program to find
where the texturing-related uniforms are in the uniforms stream.
Note that as of this commit, a new kernel is required for rendering on
actual VC4 hardware (currently that commit is named "drm/vc4: Introduce
shader validation and better command stream validation.", but is likely to
be squashed as part of an eventual merge of the kernel driver).
Diffstat (limited to 'src/gallium/drivers/vc4/vc4_context.c')
-rw-r--r-- | src/gallium/drivers/vc4/vc4_context.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/gallium/drivers/vc4/vc4_context.c b/src/gallium/drivers/vc4/vc4_context.c index a9fa7ef70f1..08e85ed6312 100644 --- a/src/gallium/drivers/vc4/vc4_context.c +++ b/src/gallium/drivers/vc4/vc4_context.c @@ -107,6 +107,8 @@ vc4_flush(struct pipe_context *pctx) submit.shader_records = vc4->shader_rec.base; submit.shader_record_len = vc4->shader_rec.next - vc4->shader_rec.base; submit.shader_record_count = vc4->shader_rec_count; + submit.uniforms = vc4->uniforms.base; + submit.uniforms_len = vc4->uniforms.next - vc4->uniforms.base; if (!(vc4_debug & VC4_DEBUG_NORAST)) { int ret; @@ -123,6 +125,7 @@ vc4_flush(struct pipe_context *pctx) vc4_reset_cl(&vc4->bcl); vc4_reset_cl(&vc4->rcl); vc4_reset_cl(&vc4->shader_rec); + vc4_reset_cl(&vc4->uniforms); vc4_reset_cl(&vc4->bo_handles); #ifdef USE_VC4_SIMULATOR vc4_reset_cl(&vc4->bo_pointers); |