tests/etnaviv_2d_test: pick the 2D core
Run the test on a core capable of 2D rendering instead of hardcoding to core zero. Signed-off-by: Lubomir Rintel <lkundrak@v3.sk> Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com>main
parent
f35acf6d3f
commit
9638207005
|
@ -161,6 +161,8 @@ int main(int argc, char *argv[])
|
|||
|
||||
drmVersionPtr version;
|
||||
int fd, ret = 0;
|
||||
uint64_t feat;
|
||||
int core = 0;
|
||||
|
||||
if (argc < 2) {
|
||||
fprintf(stderr, "Usage: %s /dev/dri/<device>\n", argv[0]);
|
||||
|
@ -190,13 +192,28 @@ int main(int argc, char *argv[])
|
|||
goto out;
|
||||
}
|
||||
|
||||
/* TODO: we assume that core 0 is a 2D capable one */
|
||||
gpu = etna_gpu_new(dev, 0);
|
||||
if (!gpu) {
|
||||
perror("etna_gpu_new");
|
||||
ret = 3;
|
||||
goto out_device;
|
||||
}
|
||||
do {
|
||||
gpu = etna_gpu_new(dev, core);
|
||||
if (!gpu) {
|
||||
perror("etna_gpu_new");
|
||||
ret = 3;
|
||||
goto out_device;
|
||||
}
|
||||
|
||||
if (etna_gpu_get_param(gpu, ETNA_GPU_FEATURES_0, &feat)) {
|
||||
perror("etna_gpu_get_param");
|
||||
ret = 4;
|
||||
goto out_device;
|
||||
}
|
||||
|
||||
if ((feat & (1 << 9)) == 0) {
|
||||
/* GPU not 2D capable. */
|
||||
etna_gpu_del(gpu);
|
||||
gpu = NULL;
|
||||
}
|
||||
|
||||
core++;
|
||||
} while (!gpu);
|
||||
|
||||
pipe = etna_pipe_new(gpu, ETNA_PIPE_2D);
|
||||
if (!pipe) {
|
||||
|
|
Loading…
Reference in New Issue