This is good enough to get basic GS workloads working, later patches will improve this by adding instancing support, proper SIMD configuration, etc.
Notice that most of the TESSELLATION_GEOMETRY_SHADER_PARAMS fields are only relevant when tessellation shaders are present. We do not support tessellation yet, but we still need to fill in these tessellation state with default values since our packing functions require some of these to have non-zero values.
v2:- Add a comment in the code explaining why we fill in tessellation fields (Alejandro)
8a81ac2eed5 v3d: emit geometry shader state commands
src/gallium/drivers/v3d/v3d_uniforms.c | 4 +-
src/gallium/drivers/v3d/v3dx_draw.c | 182 ++++++++++++++++++++++++++++++++-
src/gallium/drivers/v3d/v3dx_emit.c | 3 +
src/gallium/drivers/v3d/v3dx_state.c | 3 +
4 files changed, 188 insertions(+), 4 deletions(-)