diff options
author | Dave Airlie <[email protected]> | 2015-12-21 16:59:58 +1000 |
---|---|---|
committer | Dave Airlie <[email protected]> | 2018-05-15 14:56:57 +1000 |
commit | 9585e702065d9c2db57ab32f53a42d1ceafdb4a3 (patch) | |
tree | e94432ee8b5731a0a3b0fdacbfcb12895a4ed217 | |
parent | b691d9192c436aba5a76577b7d772a791283a2e2 (diff) |
virgl: enable vertex streams when glsl level is high enough.
This enabled the vertex streams out when the host supports
GL4.0.
-rw-r--r-- | src/gallium/drivers/virgl/virgl_encode.c | 2 | ||||
-rw-r--r-- | src/gallium/drivers/virgl/virgl_screen.c | 3 |
2 files changed, 3 insertions, 2 deletions
diff --git a/src/gallium/drivers/virgl/virgl_encode.c b/src/gallium/drivers/virgl/virgl_encode.c index a6f6d13f852..f3cbd1ca4b0 100644 --- a/src/gallium/drivers/virgl/virgl_encode.c +++ b/src/gallium/drivers/virgl/virgl_encode.c @@ -232,7 +232,7 @@ static void virgl_emit_shader_streamout(struct virgl_context *ctx, VIRGL_OBJ_SHADER_SO_OUTPUT_BUFFER(so_info->output[i].output_buffer) | VIRGL_OBJ_SHADER_SO_OUTPUT_DST_OFFSET(so_info->output[i].dst_offset); virgl_encoder_write_dword(ctx->cbuf, tmp); - virgl_encoder_write_dword(ctx->cbuf, 0); + virgl_encoder_write_dword(ctx->cbuf, so_info->output[i].stream); } } } diff --git a/src/gallium/drivers/virgl/virgl_screen.c b/src/gallium/drivers/virgl/virgl_screen.c index ab35b1fe2c7..1ca9e85de73 100644 --- a/src/gallium/drivers/virgl/virgl_screen.c +++ b/src/gallium/drivers/virgl/virgl_screen.c @@ -198,12 +198,13 @@ virgl_get_param(struct pipe_screen *screen, enum pipe_cap param) return vscreen->caps.caps.v1.bset.has_sample_shading; case PIPE_CAP_CULL_DISTANCE: return vscreen->caps.caps.v1.bset.has_cull; + case PIPE_CAP_MAX_VERTEX_STREAMS: + return vscreen->caps.caps.v1.glsl_level >= 400 ? 4 : 1; case PIPE_CAP_TEXTURE_GATHER_SM5: case PIPE_CAP_BUFFER_MAP_PERSISTENT_COHERENT: case PIPE_CAP_FAKE_SW_MSAA: case PIPE_CAP_TEXTURE_GATHER_OFFSETS: case PIPE_CAP_TGSI_VS_WINDOW_SPACE_POSITION: - case PIPE_CAP_MAX_VERTEX_STREAMS: case PIPE_CAP_MULTI_DRAW_INDIRECT: case PIPE_CAP_MULTI_DRAW_INDIRECT_PARAMS: case PIPE_CAP_TGSI_FS_FINE_DERIVATIVE: |