r600/ssbo: use r32ui format for ssbo resources.
authorDave Airlie <airlied@redhat.com>
Tue, 5 Dec 2017 08:35:24 +0000 (08:35 +0000)
committerDave Airlie <airlied@redhat.com>
Tue, 5 Dec 2017 20:07:08 +0000 (20:07 +0000)
This works best for returning the correct values and sizes in
tests.

Signed-off-by: Dave Airlie <airlied@redhat.com>
src/gallium/drivers/r600/evergreen_state.c

index e46f55bb79c45cf0eb5180fefb9fb20932837a67..8825f92a8ee851d86c8ac1553e46be1d167a4117 100644 (file)
@@ -3949,12 +3949,12 @@ static void evergreen_set_shader_buffers(struct pipe_context *ctx,
 
                resource = (struct r600_resource *)rview->base.resource;
 
-               evergreen_setup_immed_buffer(rctx, rview, resource->b.b.format);
+               evergreen_setup_immed_buffer(rctx, rview, PIPE_FORMAT_R32_UINT);
 
                color.offset = 0;
                color.view = 0;
                evergreen_set_color_surface_buffer(rctx, resource,
-                                                  PIPE_FORMAT_R32_FLOAT,
+                                                  PIPE_FORMAT_R32_UINT,
                                                   buf->buffer_offset,
                                                   buf->buffer_offset + buf->buffer_size,
                                                   &color);
@@ -3974,7 +3974,7 @@ static void evergreen_set_shader_buffers(struct pipe_context *ctx,
                rview->cb_color_fmask_slice = color.fmask_slice;
 
                memset(&buf_params, 0, sizeof(buf_params));
-               buf_params.pipe_format = PIPE_FORMAT_R32_FLOAT;
+               buf_params.pipe_format = PIPE_FORMAT_R32_UINT;
                buf_params.offset = buf->buffer_offset;
                buf_params.size = buf->buffer_size;
                buf_params.swizzle[0] = PIPE_SWIZZLE_X;