freedreno/ir3: support non-user_buffer consts
Signed-off-by: Rob Clark <robdclark@gmail.com>
This commit is contained in:
@@ -156,12 +156,14 @@ fd_screen_get_param(struct pipe_screen *pscreen, enum pipe_cap param)
|
||||
case PIPE_CAP_VERTEX_BUFFER_OFFSET_4BYTE_ALIGNED_ONLY:
|
||||
case PIPE_CAP_VERTEX_BUFFER_STRIDE_4BYTE_ALIGNED_ONLY:
|
||||
case PIPE_CAP_VERTEX_ELEMENT_SRC_OFFSET_4BYTE_ALIGNED_ONLY:
|
||||
case PIPE_CAP_USER_CONSTANT_BUFFERS:
|
||||
case PIPE_CAP_BUFFER_MAP_PERSISTENT_COHERENT:
|
||||
case PIPE_CAP_VERTEXID_NOBASE:
|
||||
case PIPE_CAP_STRING_MARKER:
|
||||
return 1;
|
||||
|
||||
case PIPE_CAP_USER_CONSTANT_BUFFERS:
|
||||
return is_ir3(screen) ? 0 : 1;
|
||||
|
||||
case PIPE_CAP_SHADER_STENCIL_EXPORT:
|
||||
case PIPE_CAP_TGSI_TEXCOORD:
|
||||
case PIPE_CAP_PREFER_BLIT_BASED_TEXTURE_TRANSFER:
|
||||
@@ -214,7 +216,7 @@ fd_screen_get_param(struct pipe_screen *pscreen, enum pipe_cap param)
|
||||
return is_a4xx(screen);
|
||||
|
||||
case PIPE_CAP_CONSTANT_BUFFER_OFFSET_ALIGNMENT:
|
||||
return 256;
|
||||
return 64;
|
||||
|
||||
case PIPE_CAP_GLSL_FEATURE_LEVEL:
|
||||
if (glsl120)
|
||||
|
||||
@@ -181,7 +181,7 @@ compile_init(struct ir3_compiler *compiler,
|
||||
nir_print_shader(ctx->s, stdout);
|
||||
}
|
||||
|
||||
so->first_driver_param = so->first_immediate = ctx->s->num_uniforms;
|
||||
so->first_driver_param = so->first_immediate = align(ctx->s->num_uniforms, 4);
|
||||
|
||||
/* Layout of constant registers:
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user