svga: fix PIPE_CAP_MAX_TEXTURE_BUFFER_SIZE value

This query is supposed to return the max texture buffer size/width in
texels, not size in bytes.  Divide by 16 (the largest format size) to
return texels.

Fixes Piglit arb_texture_buffer_object-max-size test.

Cc: mesa-stable@lists.freedesktop.org

Reviewed-by :Charmaine Lee <charmainel@vmware.com>
This commit is contained in:
Brian Paul 2017-07-10 08:36:15 -06:00
parent f8f71cb6f3
commit 3b28eaabf6

View file

@ -312,7 +312,10 @@ svga_get_param(struct pipe_screen *screen, enum pipe_cap param)
return svgascreen->ms_samples ? 1 : 0;
case PIPE_CAP_MAX_TEXTURE_BUFFER_SIZE:
return SVGA3D_DX_MAX_RESOURCE_SIZE;
/* convert bytes to texels for the case of the largest texel
* size: float[4].
*/
return SVGA3D_DX_MAX_RESOURCE_SIZE / (4 * sizeof(float));
case PIPE_CAP_MIN_TEXEL_OFFSET:
return sws->have_vgpu10 ? VGPU10_MIN_TEXEL_FETCH_OFFSET : 0;