freedreno/computerator: C++ proofing

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22148>
This commit is contained in:
Danylo Piliaiev 2023-03-03 13:32:09 +01:00 committed by Marge Bot
parent 5d2ddce99f
commit 6826a0ab14
4 changed files with 31 additions and 24 deletions

View file

@ -164,7 +164,8 @@ emit_const(struct fd_ringbuffer *ring, struct kernel *kernel, uint32_t constid,
assert((constid % 4) == 0); assert((constid % 4) == 0);
/* Overwrite appropriate entries with buffer addresses */ /* Overwrite appropriate entries with buffer addresses */
struct fd_bo **replacements = calloc(sizedwords, sizeof(struct fd_bo *)); struct fd_bo **replacements =
(struct fd_bo **)calloc(sizedwords, sizeof(struct fd_bo *));
for (int i = 0; i < MAX_BUFS; i++) { for (int i = 0; i < MAX_BUFS; i++) {
if (kernel->buf_addr_regs[i] != INVALID_REG) { if (kernel->buf_addr_regs[i] != INVALID_REG) {
int idx = kernel->buf_addr_regs[i]; int idx = kernel->buf_addr_regs[i];
@ -278,7 +279,8 @@ a4xx_emit_grid(struct kernel *kernel, uint32_t grid[3],
struct fd_submit *submit) struct fd_submit *submit)
{ {
struct fd_ringbuffer *ring = fd_submit_new_ringbuffer( struct fd_ringbuffer *ring = fd_submit_new_ringbuffer(
submit, 0, FD_RINGBUFFER_PRIMARY | FD_RINGBUFFER_GROWABLE); submit, 0,
(enum fd_ringbuffer_flags)(FD_RINGBUFFER_PRIMARY | FD_RINGBUFFER_GROWABLE));
cs_program_emit(ring, kernel); cs_program_emit(ring, kernel);
cs_const_emit(ring, kernel, grid); cs_const_emit(ring, kernel, grid);
@ -333,7 +335,8 @@ a4xx_emit_grid(struct kernel *kernel, uint32_t grid[3],
struct backend * struct backend *
a4xx_init(struct fd_device *dev, const struct fd_dev_id *dev_id) a4xx_init(struct fd_device *dev, const struct fd_dev_id *dev_id)
{ {
struct a4xx_backend *a4xx_backend = calloc(1, sizeof(*a4xx_backend)); struct a4xx_backend *a4xx_backend =
(struct a4xx_backend *)calloc(1, sizeof(*a4xx_backend));
a4xx_backend->base = (struct backend){ a4xx_backend->base = (struct backend){
.assemble = a4xx_assemble, .assemble = a4xx_assemble,
@ -341,8 +344,8 @@ a4xx_init(struct fd_device *dev, const struct fd_dev_id *dev_id)
.emit_grid = a4xx_emit_grid, .emit_grid = a4xx_emit_grid,
}; };
a4xx_backend->compiler = ir3_compiler_create(dev, dev_id, struct ir3_compiler_options compiler_options = {};
&(struct ir3_compiler_options) {}); a4xx_backend->compiler = ir3_compiler_create(dev, dev_id, &compiler_options);
a4xx_backend->dev = dev; a4xx_backend->dev = dev;
return &a4xx_backend->base; return &a4xx_backend->base;

View file

@ -315,7 +315,7 @@ cs_ibo_emit(struct fd_ringbuffer *ring, struct fd_submit *submit,
unsigned width = sz & MASK(15); unsigned width = sz & MASK(15);
unsigned height = sz >> 15; unsigned height = sz >> 15;
OUT_RING(state, A6XX_TEX_CONST_0_FMT(FMT6_32_UINT) | A6XX_TEX_CONST_0_TILE_MODE(0)); OUT_RING(state, A6XX_TEX_CONST_0_FMT(FMT6_32_UINT) | A6XX_TEX_CONST_0_TILE_MODE(TILE6_LINEAR));
OUT_RING(state, A6XX_TEX_CONST_1_WIDTH(width) | A6XX_TEX_CONST_1_HEIGHT(height)); OUT_RING(state, A6XX_TEX_CONST_1_WIDTH(width) | A6XX_TEX_CONST_1_HEIGHT(height));
OUT_RING(state, A6XX_TEX_CONST_2_PITCH(0) | OUT_RING(state, A6XX_TEX_CONST_2_PITCH(0) |
A6XX_TEX_CONST_2_STRUCTSIZETEXELS(1) | A6XX_TEX_CONST_2_STRUCTSIZETEXELS(1) |
@ -402,7 +402,8 @@ a6xx_emit_grid(struct kernel *kernel, uint32_t grid[3],
struct ir3_kernel *ir3_kernel = to_ir3_kernel(kernel); struct ir3_kernel *ir3_kernel = to_ir3_kernel(kernel);
struct a6xx_backend *a6xx_backend = to_a6xx_backend(ir3_kernel->backend); struct a6xx_backend *a6xx_backend = to_a6xx_backend(ir3_kernel->backend);
struct fd_ringbuffer *ring = fd_submit_new_ringbuffer( struct fd_ringbuffer *ring = fd_submit_new_ringbuffer(
submit, 0, FD_RINGBUFFER_PRIMARY | FD_RINGBUFFER_GROWABLE); submit, 0,
(enum fd_ringbuffer_flags)(FD_RINGBUFFER_PRIMARY | FD_RINGBUFFER_GROWABLE));
cs_program_emit(ring, kernel); cs_program_emit(ring, kernel);
cs_const_emit(ring, kernel, grid); cs_const_emit(ring, kernel, grid);
@ -519,7 +520,8 @@ a6xx_read_perfcntrs(struct backend *b, uint64_t *results)
struct a6xx_backend *a6xx_backend = to_a6xx_backend(b); struct a6xx_backend *a6xx_backend = to_a6xx_backend(b);
fd_bo_cpu_prep(a6xx_backend->query_mem, NULL, FD_BO_PREP_READ); fd_bo_cpu_prep(a6xx_backend->query_mem, NULL, FD_BO_PREP_READ);
struct fd6_query_sample *samples = fd_bo_map(a6xx_backend->query_mem); struct fd6_query_sample *samples =
(struct fd6_query_sample *)fd_bo_map(a6xx_backend->query_mem);
for (unsigned i = 0; i < a6xx_backend->num_perfcntrs; i++) { for (unsigned i = 0; i < a6xx_backend->num_perfcntrs; i++) {
results[i] = samples[i].result; results[i] = samples[i].result;
@ -529,7 +531,8 @@ a6xx_read_perfcntrs(struct backend *b, uint64_t *results)
struct backend * struct backend *
a6xx_init(struct fd_device *dev, const struct fd_dev_id *dev_id) a6xx_init(struct fd_device *dev, const struct fd_dev_id *dev_id)
{ {
struct a6xx_backend *a6xx_backend = calloc(1, sizeof(*a6xx_backend)); struct a6xx_backend *a6xx_backend =
(struct a6xx_backend *)calloc(1, sizeof(*a6xx_backend));
a6xx_backend->base = (struct backend){ a6xx_backend->base = (struct backend){
.assemble = a6xx_assemble, .assemble = a6xx_assemble,
@ -539,8 +542,8 @@ a6xx_init(struct fd_device *dev, const struct fd_dev_id *dev_id)
.read_perfcntrs = a6xx_read_perfcntrs, .read_perfcntrs = a6xx_read_perfcntrs,
}; };
a6xx_backend->compiler = ir3_compiler_create(dev, dev_id, struct ir3_compiler_options compiler_options = {};
&(struct ir3_compiler_options){}); a6xx_backend->compiler = ir3_compiler_create(dev, dev_id, &compiler_options);
a6xx_backend->dev = dev; a6xx_backend->dev = dev;
a6xx_backend->info = fd_dev_info(dev_id); a6xx_backend->info = fd_dev_info(dev_id);

View file

@ -29,7 +29,7 @@
struct ir3_kernel * struct ir3_kernel *
ir3_asm_assemble(struct ir3_compiler *c, FILE *in) ir3_asm_assemble(struct ir3_compiler *c, FILE *in)
{ {
struct ir3_kernel *kernel = calloc(1, sizeof(*kernel)); struct ir3_kernel *kernel = (struct ir3_kernel *)calloc(1, sizeof(*kernel));
struct ir3_shader *shader = ir3_parse_asm(c, &kernel->info, in); struct ir3_shader *shader = ir3_parse_asm(c, &kernel->info, in);
if (!shader) if (!shader)
errx(-1, "assembler failed"); errx(-1, "assembler failed");
@ -62,5 +62,5 @@ ir3_asm_assemble(struct ir3_compiler *c, FILE *in)
void void
ir3_asm_disassemble(struct ir3_kernel *k, FILE *out) ir3_asm_disassemble(struct ir3_kernel *k, FILE *out)
{ {
ir3_shader_disasm(k->v, k->bin, out); ir3_shader_disasm(k->v, (uint32_t *)k->bin, out);
} }

View file

@ -175,7 +175,7 @@ parse_perfcntrs(const struct fd_dev_id *dev_id, const char *perfcntrstr,
unsigned cnt = 0; unsigned cnt = 0;
groups = fd_perfcntrs(dev_id, &num_groups); groups = fd_perfcntrs(dev_id, &num_groups);
enabled_counters = calloc(num_groups, sizeof(enabled_counters[0])); enabled_counters = (uint32_t *) calloc(num_groups, sizeof(enabled_counters[0]));
cnames = strdup(perfcntrstr); cnames = strdup(perfcntrstr);
while ((s = strstr(cnames, ","))) { while ((s = strstr(cnames, ","))) {
@ -183,12 +183,13 @@ parse_perfcntrs(const struct fd_dev_id *dev_id, const char *perfcntrstr,
s[0] = '\0'; s[0] = '\0';
cnames = &s[1]; cnames = &s[1];
counters = realloc(counters, ++cnt * sizeof(counters[0])); counters =
(struct perfcntr *)realloc(counters, ++cnt * sizeof(counters[0]));
setup_counter(name, &counters[cnt - 1]); setup_counter(name, &counters[cnt - 1]);
} }
char *name = cnames; char *name = cnames;
counters = realloc(counters, ++cnt * sizeof(counters[0])); counters = (struct perfcntr *)realloc(counters, ++cnt * sizeof(counters[0]));
setup_counter(name, &counters[cnt - 1]); setup_counter(name, &counters[cnt - 1]);
*num_perfcntrs = cnt; *num_perfcntrs = cnt;
@ -222,17 +223,21 @@ main(int argc, char **argv)
break; break;
case 'g': case 'g':
ret = sscanf(optarg, "%u,%u,%u", &grid[0], &grid[1], &grid[2]); ret = sscanf(optarg, "%u,%u,%u", &grid[0], &grid[1], &grid[2]);
if (ret != 3) if (ret != 3) {
goto usage; usage(argv[0]);
return -1;
}
break; break;
case 'h': case 'h':
goto usage; usage(argv[0]);
return -1;
case 'p': case 'p':
perfcntrstr = optarg; perfcntrstr = optarg;
break; break;
default: default:
printf("unrecognized arg: %c\n", opt); printf("unrecognized arg: %c\n", opt);
goto usage; usage(argv[0]);
return -1;
} }
} }
@ -305,8 +310,4 @@ main(int argc, char **argv)
} }
return 0; return 0;
usage:
usage(argv[0]);
return -1;
} }