diff options
author | Brian Paul <[email protected]> | 2017-07-10 08:36:15 -0600 |
---|---|---|
committer | Brian Paul <[email protected]> | 2017-07-10 11:11:26 -0600 |
commit | 3b28eaabf603657c388caa72bc92b1b660d00b2a (patch) | |
tree | b9cbe7a755e6f6d7716b3c3e6ba815d2be2742d0 | |
parent | f8f71cb6f394b8b655e760a6acec8ccff1a89cfc (diff) |
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: [email protected]
Reviewed-by :Charmaine Lee <[email protected]>
-rw-r--r-- | src/gallium/drivers/svga/svga_screen.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/gallium/drivers/svga/svga_screen.c b/src/gallium/drivers/svga/svga_screen.c index 0b63525aaf2..f40d151af5d 100644 --- a/src/gallium/drivers/svga/svga_screen.c +++ b/src/gallium/drivers/svga/svga_screen.c @@ -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; |