mesa: change MAX_PROGRAM_ADDRESS_REGS to 1, clamp to it in state tracker
We've never properly supported more than one address register. There isn't even a field in prog_src_register or prog_dst_register to indicate which address register to use if RelAddr!=0. In the state tracker, clamp MaxAddressRegs against MAX_PROGRAM_ADDRESS_REGS since many gallium drivers do support more. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=65226 Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
This commit is contained in:
parent
2fd785d126
commit
f270baf074
|
@ -187,7 +187,7 @@
|
|||
#define MAX_PROGRAM_MATRIX_STACK_DEPTH 4
|
||||
#define MAX_PROGRAM_CALL_DEPTH 8
|
||||
#define MAX_PROGRAM_TEMPS 256
|
||||
#define MAX_PROGRAM_ADDRESS_REGS 2
|
||||
#define MAX_PROGRAM_ADDRESS_REGS 1
|
||||
#define MAX_VARYING 32 /**< number of float[4] vectors */
|
||||
#define MAX_SAMPLERS MAX_TEXTURE_IMAGE_UNITS
|
||||
#define MAX_PROGRAM_INPUTS 32
|
||||
|
|
|
@ -187,7 +187,8 @@ void st_init_limits(struct st_context *st)
|
|||
pc->MaxTemps = pc->MaxNativeTemps =
|
||||
screen->get_shader_param(screen, sh, PIPE_SHADER_CAP_MAX_TEMPS);
|
||||
pc->MaxAddressRegs = pc->MaxNativeAddressRegs =
|
||||
screen->get_shader_param(screen, sh, PIPE_SHADER_CAP_MAX_ADDRS);
|
||||
_min(screen->get_shader_param(screen, sh, PIPE_SHADER_CAP_MAX_ADDRS),
|
||||
MAX_PROGRAM_ADDRESS_REGS);
|
||||
pc->MaxParameters = pc->MaxNativeParameters =
|
||||
screen->get_shader_param(screen, sh, PIPE_SHADER_CAP_MAX_CONSTS);
|
||||
|
||||
|
|
Loading…
Reference in New Issue