radeonsi: increase the maximum UBO size to 2 GB
authorMarek Olšák <marek.olsak@amd.com>
Wed, 8 Aug 2018 19:37:21 +0000 (15:37 -0400)
committerMarek Olšák <marek.olsak@amd.com>
Thu, 23 Aug 2018 20:56:17 +0000 (16:56 -0400)
Same as the closed driver.

This causes a failure in GL45-CTS.compute_shader.max, which has a trivial
bug.

Tested-by: Dieter Nützel <Dieter@nuetzel-hh.de>
src/gallium/drivers/radeonsi/si_get.c

index a282b69a87b104f6122a9eb8c6173ad4fef3e4f3..47368fb7c91992ba56bd635514a862d6efa0fde9 100644 (file)
@@ -397,7 +397,7 @@ static int si_get_shader_param(struct pipe_screen* pscreen,
        case PIPE_SHADER_CAP_MAX_TEMPS:
                return 256; /* Max native temporaries. */
        case PIPE_SHADER_CAP_MAX_CONST_BUFFER_SIZE:
-               return 4096 * sizeof(float[4]); /* actually only memory limits this */
+               return MIN2(sscreen->info.max_alloc_size, INT_MAX - 3); /* aligned to 4 */
        case PIPE_SHADER_CAP_MAX_CONST_BUFFERS:
                return SI_NUM_CONST_BUFFERS;
        case PIPE_SHADER_CAP_MAX_TEXTURE_SAMPLERS: