gallium: rename shader cap MAX_CONSTS to MAX_CONST_BUFFER_SIZE
This new name isn't so confusing. I also changed the gallivm limit, because it looked wrong. Reviewed-by: Brian Paul <brianp@vmware.com> v2: use sizeof(float[4])
This commit is contained in:
@@ -97,8 +97,8 @@ gallivm_get_shader_param(enum pipe_shader_cap param)
|
|||||||
return LP_MAX_TGSI_NESTING;
|
return LP_MAX_TGSI_NESTING;
|
||||||
case PIPE_SHADER_CAP_MAX_INPUTS:
|
case PIPE_SHADER_CAP_MAX_INPUTS:
|
||||||
return PIPE_MAX_SHADER_INPUTS;
|
return PIPE_MAX_SHADER_INPUTS;
|
||||||
case PIPE_SHADER_CAP_MAX_CONSTS:
|
case PIPE_SHADER_CAP_MAX_CONST_BUFFER_SIZE:
|
||||||
return 16 * 2024;
|
return sizeof(float[4]) * 4096;
|
||||||
case PIPE_SHADER_CAP_MAX_CONST_BUFFERS:
|
case PIPE_SHADER_CAP_MAX_CONST_BUFFERS:
|
||||||
return PIPE_MAX_CONSTANT_BUFFERS;
|
return PIPE_MAX_CONSTANT_BUFFERS;
|
||||||
case PIPE_SHADER_CAP_MAX_TEMPS:
|
case PIPE_SHADER_CAP_MAX_TEMPS:
|
||||||
|
@@ -215,9 +215,9 @@ struct tgsi_sampler
|
|||||||
*/
|
*/
|
||||||
#define TGSI_EXEC_MAX_INPUT_ATTRIBS PIPE_MAX_SHADER_INPUTS
|
#define TGSI_EXEC_MAX_INPUT_ATTRIBS PIPE_MAX_SHADER_INPUTS
|
||||||
|
|
||||||
/* The maximum number of constant vectors per constant buffer.
|
/* The maximum number of bytes per constant buffer.
|
||||||
*/
|
*/
|
||||||
#define TGSI_EXEC_MAX_CONST_BUFFER 4096
|
#define TGSI_EXEC_MAX_CONST_BUFFER_SIZE (4096 * sizeof(float[4]))
|
||||||
|
|
||||||
/* The maximum number of vertices per primitive */
|
/* The maximum number of vertices per primitive */
|
||||||
#define TGSI_MAX_PRIM_VERTICES 6
|
#define TGSI_MAX_PRIM_VERTICES 6
|
||||||
@@ -427,8 +427,8 @@ tgsi_exec_get_shader_param(enum pipe_shader_cap param)
|
|||||||
return TGSI_EXEC_MAX_NESTING;
|
return TGSI_EXEC_MAX_NESTING;
|
||||||
case PIPE_SHADER_CAP_MAX_INPUTS:
|
case PIPE_SHADER_CAP_MAX_INPUTS:
|
||||||
return TGSI_EXEC_MAX_INPUT_ATTRIBS;
|
return TGSI_EXEC_MAX_INPUT_ATTRIBS;
|
||||||
case PIPE_SHADER_CAP_MAX_CONSTS:
|
case PIPE_SHADER_CAP_MAX_CONST_BUFFER_SIZE:
|
||||||
return TGSI_EXEC_MAX_CONST_BUFFER;
|
return TGSI_EXEC_MAX_CONST_BUFFER_SIZE;
|
||||||
case PIPE_SHADER_CAP_MAX_CONST_BUFFERS:
|
case PIPE_SHADER_CAP_MAX_CONST_BUFFERS:
|
||||||
return PIPE_MAX_CONSTANT_BUFFERS;
|
return PIPE_MAX_CONSTANT_BUFFERS;
|
||||||
case PIPE_SHADER_CAP_MAX_TEMPS:
|
case PIPE_SHADER_CAP_MAX_TEMPS:
|
||||||
|
@@ -198,13 +198,13 @@ static unsigned caps_sm3[] = {
|
|||||||
UTIL_CHECK_SHADER(FRAGMENT, MAX_INPUTS, 10),
|
UTIL_CHECK_SHADER(FRAGMENT, MAX_INPUTS, 10),
|
||||||
UTIL_CHECK_SHADER(FRAGMENT, MAX_TEMPS, 32),
|
UTIL_CHECK_SHADER(FRAGMENT, MAX_TEMPS, 32),
|
||||||
UTIL_CHECK_SHADER(FRAGMENT, MAX_ADDRS, 1),
|
UTIL_CHECK_SHADER(FRAGMENT, MAX_ADDRS, 1),
|
||||||
UTIL_CHECK_SHADER(FRAGMENT, MAX_CONSTS, 224),
|
UTIL_CHECK_SHADER(FRAGMENT, MAX_CONST_BUFFER_SIZE, 224 * 16),
|
||||||
|
|
||||||
UTIL_CHECK_SHADER(VERTEX, MAX_INSTRUCTIONS, 512),
|
UTIL_CHECK_SHADER(VERTEX, MAX_INSTRUCTIONS, 512),
|
||||||
UTIL_CHECK_SHADER(VERTEX, MAX_INPUTS, 16),
|
UTIL_CHECK_SHADER(VERTEX, MAX_INPUTS, 16),
|
||||||
UTIL_CHECK_SHADER(VERTEX, MAX_TEMPS, 32),
|
UTIL_CHECK_SHADER(VERTEX, MAX_TEMPS, 32),
|
||||||
UTIL_CHECK_SHADER(VERTEX, MAX_ADDRS, 2),
|
UTIL_CHECK_SHADER(VERTEX, MAX_ADDRS, 2),
|
||||||
UTIL_CHECK_SHADER(VERTEX, MAX_CONSTS, 256),
|
UTIL_CHECK_SHADER(VERTEX, MAX_CONST_BUFFER_SIZE, 256 * 16),
|
||||||
|
|
||||||
UTIL_CHECK_TERMINATE
|
UTIL_CHECK_TERMINATE
|
||||||
};
|
};
|
||||||
|
@@ -250,7 +250,7 @@ support different features.
|
|||||||
* ``PIPE_SHADER_CAP_MAX_TEX_INDIRECTIONS``: The maximum number of texture indirections.
|
* ``PIPE_SHADER_CAP_MAX_TEX_INDIRECTIONS``: The maximum number of texture indirections.
|
||||||
* ``PIPE_SHADER_CAP_MAX_CONTROL_FLOW_DEPTH``: The maximum nested control flow depth.
|
* ``PIPE_SHADER_CAP_MAX_CONTROL_FLOW_DEPTH``: The maximum nested control flow depth.
|
||||||
* ``PIPE_SHADER_CAP_MAX_INPUTS``: The maximum number of input registers.
|
* ``PIPE_SHADER_CAP_MAX_INPUTS``: The maximum number of input registers.
|
||||||
* ``PIPE_SHADER_CAP_MAX_CONSTS``: The maximum number of constants.
|
* ``PIPE_SHADER_CAP_MAX_CONST_BUFFER_SIZE``: The maximum size per constant buffer in bytes.
|
||||||
* ``PIPE_SHADER_CAP_MAX_CONST_BUFFERS``: Maximum number of constant buffers that can be bound
|
* ``PIPE_SHADER_CAP_MAX_CONST_BUFFERS``: Maximum number of constant buffers that can be bound
|
||||||
to any shader stage using ``set_constant_buffer``. If 0 or 1, the pipe will
|
to any shader stage using ``set_constant_buffer``. If 0 or 1, the pipe will
|
||||||
only permit binding one constant buffer per shader, and the shaders will
|
only permit binding one constant buffer per shader, and the shaders will
|
||||||
|
@@ -329,8 +329,8 @@ fd_screen_get_shader_param(struct pipe_screen *pscreen, unsigned shader,
|
|||||||
return 64; /* Max native temporaries. */
|
return 64; /* Max native temporaries. */
|
||||||
case PIPE_SHADER_CAP_MAX_ADDRS:
|
case PIPE_SHADER_CAP_MAX_ADDRS:
|
||||||
return 1; /* Max native address registers */
|
return 1; /* Max native address registers */
|
||||||
case PIPE_SHADER_CAP_MAX_CONSTS:
|
case PIPE_SHADER_CAP_MAX_CONST_BUFFER_SIZE:
|
||||||
return (screen->gpu_id >= 300) ? 1024 : 64;
|
return ((screen->gpu_id >= 300) ? 1024 : 64) * sizeof(float[4]);
|
||||||
case PIPE_SHADER_CAP_MAX_CONST_BUFFERS:
|
case PIPE_SHADER_CAP_MAX_CONST_BUFFERS:
|
||||||
return 1;
|
return 1;
|
||||||
case PIPE_SHADER_CAP_MAX_PREDS:
|
case PIPE_SHADER_CAP_MAX_PREDS:
|
||||||
|
@@ -129,8 +129,8 @@ i915_get_shader_param(struct pipe_screen *screen, unsigned shader, enum pipe_sha
|
|||||||
return 0;
|
return 0;
|
||||||
case PIPE_SHADER_CAP_MAX_INPUTS:
|
case PIPE_SHADER_CAP_MAX_INPUTS:
|
||||||
return 10;
|
return 10;
|
||||||
case PIPE_SHADER_CAP_MAX_CONSTS:
|
case PIPE_SHADER_CAP_MAX_CONST_BUFFER_SIZE:
|
||||||
return 32;
|
return 32 * sizeof(float[4]);
|
||||||
case PIPE_SHADER_CAP_MAX_CONST_BUFFERS:
|
case PIPE_SHADER_CAP_MAX_CONST_BUFFERS:
|
||||||
return 1;
|
return 1;
|
||||||
case PIPE_SHADER_CAP_MAX_TEMPS:
|
case PIPE_SHADER_CAP_MAX_TEMPS:
|
||||||
|
@@ -116,8 +116,8 @@ ilo_get_shader_param(struct pipe_screen *screen, unsigned shader,
|
|||||||
case PIPE_SHADER_CAP_MAX_INPUTS:
|
case PIPE_SHADER_CAP_MAX_INPUTS:
|
||||||
/* this is limited by how many attributes SF can remap */
|
/* this is limited by how many attributes SF can remap */
|
||||||
return 16;
|
return 16;
|
||||||
case PIPE_SHADER_CAP_MAX_CONSTS:
|
case PIPE_SHADER_CAP_MAX_CONST_BUFFER_SIZE:
|
||||||
return 1024;
|
return 1024 * sizeof(float[4]);
|
||||||
case PIPE_SHADER_CAP_MAX_CONST_BUFFERS:
|
case PIPE_SHADER_CAP_MAX_CONST_BUFFERS:
|
||||||
return ILO_MAX_CONST_BUFFERS;
|
return ILO_MAX_CONST_BUFFERS;
|
||||||
case PIPE_SHADER_CAP_MAX_TEMPS:
|
case PIPE_SHADER_CAP_MAX_TEMPS:
|
||||||
|
@@ -198,8 +198,8 @@ nv30_screen_get_shader_param(struct pipe_screen *pscreen, unsigned shader,
|
|||||||
return 0;
|
return 0;
|
||||||
case PIPE_SHADER_CAP_MAX_INPUTS:
|
case PIPE_SHADER_CAP_MAX_INPUTS:
|
||||||
return 16;
|
return 16;
|
||||||
case PIPE_SHADER_CAP_MAX_CONSTS:
|
case PIPE_SHADER_CAP_MAX_CONST_BUFFER_SIZE:
|
||||||
return (eng3d->oclass >= NV40_3D_CLASS) ? (468 - 6): (256 - 6);
|
return ((eng3d->oclass >= NV40_3D_CLASS) ? (468 - 6): (256 - 6)) * sizeof(float[4]);
|
||||||
case PIPE_SHADER_CAP_MAX_CONST_BUFFERS:
|
case PIPE_SHADER_CAP_MAX_CONST_BUFFERS:
|
||||||
return 1;
|
return 1;
|
||||||
case PIPE_SHADER_CAP_MAX_TEMPS:
|
case PIPE_SHADER_CAP_MAX_TEMPS:
|
||||||
@@ -235,8 +235,8 @@ nv30_screen_get_shader_param(struct pipe_screen *pscreen, unsigned shader,
|
|||||||
return 0;
|
return 0;
|
||||||
case PIPE_SHADER_CAP_MAX_INPUTS:
|
case PIPE_SHADER_CAP_MAX_INPUTS:
|
||||||
return 8; /* should be possible to do 10 with nv4x */
|
return 8; /* should be possible to do 10 with nv4x */
|
||||||
case PIPE_SHADER_CAP_MAX_CONSTS:
|
case PIPE_SHADER_CAP_MAX_CONST_BUFFER_SIZE:
|
||||||
return (eng3d->oclass >= NV40_3D_CLASS) ? 224 : 32;
|
return ((eng3d->oclass >= NV40_3D_CLASS) ? 224 : 32) * sizeof(float[4]);
|
||||||
case PIPE_SHADER_CAP_MAX_CONST_BUFFERS:
|
case PIPE_SHADER_CAP_MAX_CONST_BUFFERS:
|
||||||
return 1;
|
return 1;
|
||||||
case PIPE_SHADER_CAP_MAX_TEMPS:
|
case PIPE_SHADER_CAP_MAX_TEMPS:
|
||||||
|
@@ -232,8 +232,8 @@ nv50_screen_get_shader_param(struct pipe_screen *pscreen, unsigned shader,
|
|||||||
if (shader == PIPE_SHADER_VERTEX)
|
if (shader == PIPE_SHADER_VERTEX)
|
||||||
return 32;
|
return 32;
|
||||||
return 15;
|
return 15;
|
||||||
case PIPE_SHADER_CAP_MAX_CONSTS:
|
case PIPE_SHADER_CAP_MAX_CONST_BUFFER_SIZE:
|
||||||
return 65536 / 16;
|
return 65536;
|
||||||
case PIPE_SHADER_CAP_MAX_CONST_BUFFERS:
|
case PIPE_SHADER_CAP_MAX_CONST_BUFFERS:
|
||||||
return NV50_MAX_PIPE_CONSTBUFS;
|
return NV50_MAX_PIPE_CONSTBUFS;
|
||||||
case PIPE_SHADER_CAP_MAX_ADDRS:
|
case PIPE_SHADER_CAP_MAX_ADDRS:
|
||||||
|
@@ -238,8 +238,8 @@ nvc0_screen_get_shader_param(struct pipe_screen *pscreen, unsigned shader,
|
|||||||
* and excludes 0x60 per-patch inputs.
|
* and excludes 0x60 per-patch inputs.
|
||||||
*/
|
*/
|
||||||
return 0x200 / 16;
|
return 0x200 / 16;
|
||||||
case PIPE_SHADER_CAP_MAX_CONSTS:
|
case PIPE_SHADER_CAP_MAX_CONST_BUFFER_SIZE:
|
||||||
return 65536 / 16;
|
return 65536;
|
||||||
case PIPE_SHADER_CAP_MAX_CONST_BUFFERS:
|
case PIPE_SHADER_CAP_MAX_CONST_BUFFERS:
|
||||||
if (shader == PIPE_SHADER_COMPUTE && class_3d >= NVE4_3D_CLASS)
|
if (shader == PIPE_SHADER_COMPUTE && class_3d >= NVE4_3D_CLASS)
|
||||||
return NVE4_MAX_PIPE_CONSTBUFS_COMPUTE;
|
return NVE4_MAX_PIPE_CONSTBUFS_COMPUTE;
|
||||||
|
@@ -241,8 +241,8 @@ static int r300_get_shader_param(struct pipe_screen *pscreen, unsigned shader, e
|
|||||||
* additional texcoords but there is no two-sided color
|
* additional texcoords but there is no two-sided color
|
||||||
* selection then. However the facing bit can be used instead. */
|
* selection then. However the facing bit can be used instead. */
|
||||||
return 10;
|
return 10;
|
||||||
case PIPE_SHADER_CAP_MAX_CONSTS:
|
case PIPE_SHADER_CAP_MAX_CONST_BUFFER_SIZE:
|
||||||
return is_r500 ? 256 : 32;
|
return (is_r500 ? 256 : 32) * sizeof(float[4]);
|
||||||
case PIPE_SHADER_CAP_MAX_CONST_BUFFERS:
|
case PIPE_SHADER_CAP_MAX_CONST_BUFFERS:
|
||||||
return 1;
|
return 1;
|
||||||
case PIPE_SHADER_CAP_MAX_TEMPS:
|
case PIPE_SHADER_CAP_MAX_TEMPS:
|
||||||
@@ -289,8 +289,8 @@ static int r300_get_shader_param(struct pipe_screen *pscreen, unsigned shader, e
|
|||||||
return is_r500 ? 4 : 0; /* For loops; not sure about conditionals. */
|
return is_r500 ? 4 : 0; /* For loops; not sure about conditionals. */
|
||||||
case PIPE_SHADER_CAP_MAX_INPUTS:
|
case PIPE_SHADER_CAP_MAX_INPUTS:
|
||||||
return 16;
|
return 16;
|
||||||
case PIPE_SHADER_CAP_MAX_CONSTS:
|
case PIPE_SHADER_CAP_MAX_CONST_BUFFER_SIZE:
|
||||||
return 256;
|
return 256 * sizeof(float[4]);
|
||||||
case PIPE_SHADER_CAP_MAX_CONST_BUFFERS:
|
case PIPE_SHADER_CAP_MAX_CONST_BUFFERS:
|
||||||
return 1;
|
return 1;
|
||||||
case PIPE_SHADER_CAP_MAX_TEMPS:
|
case PIPE_SHADER_CAP_MAX_TEMPS:
|
||||||
|
@@ -419,7 +419,7 @@ static int r600_get_shader_param(struct pipe_screen* pscreen, unsigned shader, e
|
|||||||
case PIPE_SHADER_CAP_MAX_ADDRS:
|
case PIPE_SHADER_CAP_MAX_ADDRS:
|
||||||
/* XXX Isn't this equal to TEMPS? */
|
/* XXX Isn't this equal to TEMPS? */
|
||||||
return 1; /* Max native address registers */
|
return 1; /* Max native address registers */
|
||||||
case PIPE_SHADER_CAP_MAX_CONSTS:
|
case PIPE_SHADER_CAP_MAX_CONST_BUFFER_SIZE:
|
||||||
return R600_MAX_CONST_BUFFER_SIZE;
|
return R600_MAX_CONST_BUFFER_SIZE;
|
||||||
case PIPE_SHADER_CAP_MAX_CONST_BUFFERS:
|
case PIPE_SHADER_CAP_MAX_CONST_BUFFERS:
|
||||||
return R600_MAX_USER_CONST_BUFFERS;
|
return R600_MAX_USER_CONST_BUFFERS;
|
||||||
|
@@ -54,7 +54,7 @@
|
|||||||
#define R600_BUFFER_INFO_CONST_BUFFER (R600_MAX_USER_CONST_BUFFERS + 2)
|
#define R600_BUFFER_INFO_CONST_BUFFER (R600_MAX_USER_CONST_BUFFERS + 2)
|
||||||
#define R600_GS_RING_CONST_BUFFER (R600_MAX_USER_CONST_BUFFERS + 3)
|
#define R600_GS_RING_CONST_BUFFER (R600_MAX_USER_CONST_BUFFERS + 3)
|
||||||
|
|
||||||
#define R600_MAX_CONST_BUFFER_SIZE 4096
|
#define R600_MAX_CONST_BUFFER_SIZE (4096 * sizeof(float[4]))
|
||||||
|
|
||||||
#ifdef PIPE_ARCH_BIG_ENDIAN
|
#ifdef PIPE_ARCH_BIG_ENDIAN
|
||||||
#define R600_BIG_ENDIAN 1
|
#define R600_BIG_ENDIAN 1
|
||||||
|
@@ -350,8 +350,8 @@ static int si_get_shader_param(struct pipe_screen* pscreen, unsigned shader, enu
|
|||||||
case PIPE_SHADER_CAP_MAX_ADDRS:
|
case PIPE_SHADER_CAP_MAX_ADDRS:
|
||||||
/* FIXME Isn't this equal to TEMPS? */
|
/* FIXME Isn't this equal to TEMPS? */
|
||||||
return 1; /* Max native address registers */
|
return 1; /* Max native address registers */
|
||||||
case PIPE_SHADER_CAP_MAX_CONSTS:
|
case PIPE_SHADER_CAP_MAX_CONST_BUFFER_SIZE:
|
||||||
return 4096; /* actually only memory limits this */
|
return 4096 * sizeof(float[4]); /* actually only memory limits this */
|
||||||
case PIPE_SHADER_CAP_MAX_CONST_BUFFERS:
|
case PIPE_SHADER_CAP_MAX_CONST_BUFFERS:
|
||||||
return SI_NUM_USER_CONST_BUFFERS;
|
return SI_NUM_USER_CONST_BUFFERS;
|
||||||
case PIPE_SHADER_CAP_MAX_PREDS:
|
case PIPE_SHADER_CAP_MAX_PREDS:
|
||||||
|
@@ -313,8 +313,8 @@ static int svga_get_shader_param(struct pipe_screen *screen, unsigned shader, en
|
|||||||
return SVGA3D_MAX_NESTING_LEVEL;
|
return SVGA3D_MAX_NESTING_LEVEL;
|
||||||
case PIPE_SHADER_CAP_MAX_INPUTS:
|
case PIPE_SHADER_CAP_MAX_INPUTS:
|
||||||
return 10;
|
return 10;
|
||||||
case PIPE_SHADER_CAP_MAX_CONSTS:
|
case PIPE_SHADER_CAP_MAX_CONST_BUFFER_SIZE:
|
||||||
return 224;
|
return 224 * sizeof(float[4]);
|
||||||
case PIPE_SHADER_CAP_MAX_CONST_BUFFERS:
|
case PIPE_SHADER_CAP_MAX_CONST_BUFFERS:
|
||||||
return 1;
|
return 1;
|
||||||
case PIPE_SHADER_CAP_MAX_TEMPS:
|
case PIPE_SHADER_CAP_MAX_TEMPS:
|
||||||
@@ -371,8 +371,8 @@ static int svga_get_shader_param(struct pipe_screen *screen, unsigned shader, en
|
|||||||
return SVGA3D_MAX_NESTING_LEVEL;
|
return SVGA3D_MAX_NESTING_LEVEL;
|
||||||
case PIPE_SHADER_CAP_MAX_INPUTS:
|
case PIPE_SHADER_CAP_MAX_INPUTS:
|
||||||
return 16;
|
return 16;
|
||||||
case PIPE_SHADER_CAP_MAX_CONSTS:
|
case PIPE_SHADER_CAP_MAX_CONST_BUFFER_SIZE:
|
||||||
return 256;
|
return 256 * sizeof(float[4]);
|
||||||
case PIPE_SHADER_CAP_MAX_CONST_BUFFERS:
|
case PIPE_SHADER_CAP_MAX_CONST_BUFFERS:
|
||||||
return 1;
|
return 1;
|
||||||
case PIPE_SHADER_CAP_MAX_TEMPS:
|
case PIPE_SHADER_CAP_MAX_TEMPS:
|
||||||
|
@@ -604,7 +604,7 @@ enum pipe_shader_cap
|
|||||||
PIPE_SHADER_CAP_MAX_TEX_INDIRECTIONS,
|
PIPE_SHADER_CAP_MAX_TEX_INDIRECTIONS,
|
||||||
PIPE_SHADER_CAP_MAX_CONTROL_FLOW_DEPTH,
|
PIPE_SHADER_CAP_MAX_CONTROL_FLOW_DEPTH,
|
||||||
PIPE_SHADER_CAP_MAX_INPUTS,
|
PIPE_SHADER_CAP_MAX_INPUTS,
|
||||||
PIPE_SHADER_CAP_MAX_CONSTS,
|
PIPE_SHADER_CAP_MAX_CONST_BUFFER_SIZE,
|
||||||
PIPE_SHADER_CAP_MAX_CONST_BUFFERS,
|
PIPE_SHADER_CAP_MAX_CONST_BUFFERS,
|
||||||
PIPE_SHADER_CAP_MAX_TEMPS,
|
PIPE_SHADER_CAP_MAX_TEMPS,
|
||||||
PIPE_SHADER_CAP_MAX_ADDRS,
|
PIPE_SHADER_CAP_MAX_ADDRS,
|
||||||
|
@@ -136,7 +136,7 @@ device::max_mem_input() const {
|
|||||||
cl_ulong
|
cl_ulong
|
||||||
device::max_const_buffer_size() const {
|
device::max_const_buffer_size() const {
|
||||||
return pipe->get_shader_param(pipe, PIPE_SHADER_COMPUTE,
|
return pipe->get_shader_param(pipe, PIPE_SHADER_COMPUTE,
|
||||||
PIPE_SHADER_CAP_MAX_CONSTS) * 16;
|
PIPE_SHADER_CAP_MAX_CONST_BUFFER_SIZE);
|
||||||
}
|
}
|
||||||
|
|
||||||
cl_uint
|
cl_uint
|
||||||
|
@@ -146,7 +146,7 @@ void st_init_limits(struct st_context *st)
|
|||||||
|
|
||||||
c->MaxUniformBlockSize =
|
c->MaxUniformBlockSize =
|
||||||
screen->get_shader_param(screen, PIPE_SHADER_FRAGMENT,
|
screen->get_shader_param(screen, PIPE_SHADER_FRAGMENT,
|
||||||
PIPE_SHADER_CAP_MAX_CONSTS) * 16;
|
PIPE_SHADER_CAP_MAX_CONST_BUFFER_SIZE);
|
||||||
if (c->MaxUniformBlockSize < 16384) {
|
if (c->MaxUniformBlockSize < 16384) {
|
||||||
can_ubo = FALSE;
|
can_ubo = FALSE;
|
||||||
}
|
}
|
||||||
@@ -194,7 +194,8 @@ void st_init_limits(struct st_context *st)
|
|||||||
_min(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);
|
MAX_PROGRAM_ADDRESS_REGS);
|
||||||
pc->MaxParameters = pc->MaxNativeParameters =
|
pc->MaxParameters = pc->MaxNativeParameters =
|
||||||
screen->get_shader_param(screen, sh, PIPE_SHADER_CAP_MAX_CONSTS);
|
screen->get_shader_param(screen, sh,
|
||||||
|
PIPE_SHADER_CAP_MAX_CONST_BUFFER_SIZE) / sizeof(float[4]);
|
||||||
|
|
||||||
pc->MaxUniformComponents = 4 * MIN2(pc->MaxNativeParameters, MAX_UNIFORMS);
|
pc->MaxUniformComponents = 4 * MIN2(pc->MaxNativeParameters, MAX_UNIFORMS);
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user