gallium: don't use flexible array members in drivers for vertex elements cso

While this c99 feature should work with most compilers, valgrind doesn't
really like it, and this only really saves some memory, we don't do this
in similar occasions (like the blend state) neither.
This commit is contained in:
Roland Scheidegger 2010-03-09 14:23:00 +01:00
parent fe9f8536f1
commit e8983f70b4
11 changed files with 11 additions and 11 deletions

View file

@ -96,7 +96,7 @@ struct cell_buffer_list
struct cell_velems_state
{
unsigned count;
struct pipe_vertex_element velem[];
struct pipe_vertex_element velem[PIPE_MAX_ATTRIBS];
}
/**

View file

@ -43,7 +43,7 @@ cell_create_vertex_elements_state(struct pipe_context *pipe,
{
struct cell_velems_state *velems;
assert(count <= PIPE_MAX_ATTRIBS);
velems = (struct cell_velems_state *) MALLOC(sizeof(struct cell_velems_state) + count * sizeof(*attribs));
velems = (struct cell_velems_state *) MALLOC(sizeof(struct cell_velems_state));
if (velems) {
velems->count = count;
memcpy(velems->velem, attribs, sizeof(*attribs) * count);

View file

@ -189,7 +189,7 @@ struct i915_sampler_state {
struct i915_velems_state {
unsigned count;
struct pipe_vertex_element velem[];
struct pipe_vertex_element velem[PIPE_MAX_ATTRIBS];
};
struct i915_texture {

View file

@ -749,7 +749,7 @@ i915_create_vertex_elements_state(struct pipe_context *pipe,
{
struct i915_velems_state *velems;
assert(count <= PIPE_MAX_ATTRIBS);
velems = (struct i915_velems_state *) MALLOC(sizeof(struct i915_velems_state) + count * sizeof(*attribs));
velems = (struct i915_velems_state *) MALLOC(sizeof(struct i915_velems_state));
if (velems) {
velems->count = count;
memcpy(velems->velem, attribs, sizeof(*attribs) * count);

View file

@ -215,7 +215,7 @@ static void* brw_create_vertex_elements_state( struct pipe_context *pipe,
const struct pipe_vertex_element *attribs )
{
/* note: for the brw_swtnl.c code (if ever we need draw fallback) we'd also need
store the original data */
to store the original data */
struct brw_context *brw = brw_context(pipe);
struct brw_vertex_element_packet *velems;
assert(count <= BRW_VEP_MAX);

View file

@ -121,7 +121,7 @@ struct lp_vertex_shader {
struct lp_velems_state {
unsigned count;
struct pipe_vertex_element velem[];
struct pipe_vertex_element velem[PIPE_MAX_ATTRIBS];
};

View file

@ -42,7 +42,7 @@ llvmpipe_create_vertex_elements_state(struct pipe_context *pipe,
{
struct lp_velems_state *velems;
assert(count <= PIPE_MAX_ATTRIBS);
velems = (struct lp_velems_state *) MALLOC(sizeof(struct lp_velems_state) + count * sizeof(*attribs));
velems = (struct lp_velems_state *) MALLOC(sizeof(struct lp_velems_state));
if (velems) {
velems->count = count;
memcpy(velems->velem, attribs, sizeof(*attribs) * count);

View file

@ -102,7 +102,7 @@ struct sp_geometry_shader {
struct sp_velems_state {
unsigned count;
struct pipe_vertex_element velem[];
struct pipe_vertex_element velem[PIPE_MAX_ATTRIBS];
};

View file

@ -43,7 +43,7 @@ softpipe_create_vertex_elements_state(struct pipe_context *pipe,
{
struct sp_velems_state *velems;
assert(count <= PIPE_MAX_ATTRIBS);
velems = (struct sp_velems_state *) MALLOC(sizeof(struct sp_velems_state) + count * sizeof(*attribs));
velems = (struct sp_velems_state *) MALLOC(sizeof(struct sp_velems_state));
if (velems) {
velems->count = count;
memcpy(velems->velem, attribs, sizeof(*attribs) * count);

View file

@ -171,7 +171,7 @@ struct svga_sampler_state {
struct svga_velems_state {
unsigned count;
struct pipe_vertex_element velem[];
struct pipe_vertex_element velem[PIPE_MAX_ATTRIBS];
};
/* Use to calculate differences between state emitted to hardware and

View file

@ -73,7 +73,7 @@ svga_create_vertex_elements_state(struct pipe_context *pipe,
{
struct svga_velems_state *velems;
assert(count <= PIPE_MAX_ATTRIBS);
velems = (struct svga_velems_state *) MALLOC(sizeof(struct svga_velems_state) + count * sizeof(*attribs));
velems = (struct svga_velems_state *) MALLOC(sizeof(struct svga_velems_state));
if (velems) {
velems->count = count;
memcpy(velems->velem, attribs, sizeof(*attribs) * count);