etnaviv: prep for UBOs
authorJonathan Marek <jonathan@marek.ca>
Fri, 28 Jun 2019 02:02:45 +0000 (22:02 -0400)
committerJonathan Marek <jonathan@marek.ca>
Tue, 6 Aug 2019 14:33:17 +0000 (10:33 -0400)
commitee1ed59458741d36b217f80ebd83ffbd3426bf05
treec3fdaae240261f360f31da26202a8defdcf81579
parentca58c1120e2c560363b78739f050d348efdbd28d
etnaviv: prep for UBOs

Allow UBO relocs and only emitting uniforms that are actually used.

GC7000Lite has no address register, so upload uniforms to a UBO object to
LOAD from.

I removed the code to check for changes to individual uniforms and just
reupload to entire uniform state when the state is dirty. I think there
was very limited benefit to it and it isn't compatible with relocs.

Signed-off-by: Jonathan Marek <jonathan@marek.ca>
Reviewed-by: Philipp Zabel <p.zabel@pengutronix.de>
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com>
src/gallium/drivers/etnaviv/etnaviv_compiler.c
src/gallium/drivers/etnaviv/etnaviv_context.h
src/gallium/drivers/etnaviv/etnaviv_emit.c
src/gallium/drivers/etnaviv/etnaviv_internal.h
src/gallium/drivers/etnaviv/etnaviv_shader.c
src/gallium/drivers/etnaviv/etnaviv_state.c
src/gallium/drivers/etnaviv/etnaviv_uniforms.c
src/gallium/drivers/etnaviv/etnaviv_uniforms.h