diff options
author | Eric Anholt <[email protected]> | 2018-09-10 08:19:48 -0700 |
---|---|---|
committer | Eric Anholt <[email protected]> | 2018-12-07 16:48:23 -0800 |
commit | 42652ea51e643af9dfa0f1f7409b473b95d0a406 (patch) | |
tree | 9b9f53aa7b03012e7acde4935741a5e1f66e66b0 /src/gallium/drivers/v3d | |
parent | fb9bcf5602b96e4b40ab58e98235678668b10a9a (diff) |
v3d: Use combined input/output segments.
The HW apparently has some issues (or at least a much more complicated VCM
calculation) with non-combined segments, and the closed source driver also
uses combined I/O. Until I get the last CTS failure resolved (which does
look plausibly like some VPM stomping), let's use combined I/O too.
Diffstat (limited to 'src/gallium/drivers/v3d')
-rw-r--r-- | src/gallium/drivers/v3d/v3dx_draw.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/src/gallium/drivers/v3d/v3dx_draw.c b/src/gallium/drivers/v3d/v3dx_draw.c index bfb4af13ceb..7db1285f11d 100644 --- a/src/gallium/drivers/v3d/v3dx_draw.c +++ b/src/gallium/drivers/v3d/v3dx_draw.c @@ -201,12 +201,15 @@ v3d_emit_gl_shader_state(struct v3d_context *v3d, /* XXX: Use combined input/output size flag in the common * case. */ - shader.coordinate_shader_has_separate_input_and_output_vpm_blocks = true; - shader.vertex_shader_has_separate_input_and_output_vpm_blocks = true; + shader.coordinate_shader_has_separate_input_and_output_vpm_blocks = + v3d->prog.cs->prog_data.vs->separate_segments; + shader.vertex_shader_has_separate_input_and_output_vpm_blocks = + v3d->prog.vs->prog_data.vs->separate_segments; + shader.coordinate_shader_input_vpm_segment_size = - MAX2(v3d->prog.cs->prog_data.vs->vpm_input_size, 1); + v3d->prog.cs->prog_data.vs->vpm_input_size; shader.vertex_shader_input_vpm_segment_size = - MAX2(v3d->prog.vs->prog_data.vs->vpm_input_size, 1); + v3d->prog.vs->prog_data.vs->vpm_input_size; shader.coordinate_shader_output_vpm_segment_size = v3d->prog.cs->prog_data.vs->vpm_output_size; |