mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-26 14:20:35 +01:00
swr: Align query results allocation
Some query results struct contents are declared as cache line aligned.
Use aligned malloc, and align the whole struct, to be safe.
Fixes crash when compiling with clang.
CC: <mesa-stable@lists.freedesktop.org>
Reviewed-by: Bruce Cherniak <bruce.cherniak@intel.com>
(cherry picked from commit 00847e4f14)
This commit is contained in:
parent
34f902e17e
commit
e35cfa15cf
2 changed files with 5 additions and 4 deletions
|
|
@ -29,7 +29,7 @@
|
|||
#include "swr_query.h"
|
||||
#include "swr_screen.h"
|
||||
#include "swr_state.h"
|
||||
|
||||
#include "common/os.h"
|
||||
|
||||
static struct swr_query *
|
||||
swr_query(struct pipe_query *p)
|
||||
|
|
@ -45,7 +45,8 @@ swr_create_query(struct pipe_context *pipe, unsigned type, unsigned index)
|
|||
assert(type < PIPE_QUERY_TYPES);
|
||||
assert(index < MAX_SO_STREAMS);
|
||||
|
||||
pq = CALLOC_STRUCT(swr_query);
|
||||
pq = (struct swr_query *) AlignedMalloc(sizeof(struct swr_query), 64);
|
||||
memset(pq, 0, sizeof(*pq));
|
||||
|
||||
if (pq) {
|
||||
pq->type = type;
|
||||
|
|
@ -67,7 +68,7 @@ swr_destroy_query(struct pipe_context *pipe, struct pipe_query *q)
|
|||
swr_fence_reference(pipe->screen, &pq->fence, NULL);
|
||||
}
|
||||
|
||||
FREE(pq);
|
||||
AlignedFree(pq);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ struct swr_query_result {
|
|||
uint64_t timestamp_end;
|
||||
};
|
||||
|
||||
struct swr_query {
|
||||
OSALIGNLINE(struct) swr_query {
|
||||
unsigned type; /* PIPE_QUERY_* */
|
||||
unsigned index;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue