winsys/radeon: Get max_pipes from the kernel

Signed-off-by: Tom Stellard <thomas.stellard@amd.com>
This commit is contained in:
Tom Stellard 2012-03-20 13:33:37 -04:00
parent e42df8e10a
commit d0f6274489
2 changed files with 11 additions and 0 deletions

View file

@ -81,6 +81,10 @@
#define RADEON_INFO_IB_VM_MAX_SIZE 0x0f
#endif
#ifndef RADEON_INFO_MAX_PIPES
#define RADEON_INFO_MAX_PIPES 0x10
#endif
/* Enable/disable feature access for one command stream.
* If enable == TRUE, return TRUE on success.
@ -299,6 +303,12 @@ static boolean do_winsys_init(struct radeon_drm_winsys *ws)
ws->info.r600_has_streamout = ws->info.drm_minor >= 13;
}
/* Get max pipes, this is only needed for compute shaders. All evergreen+
* chips have at least 2 pipes, so we use 2 as a default. */
ws->info.r600_max_pipes = 2;
radeon_get_drm_value(ws->fd, RADEON_INFO_MAX_PIPES, NULL,
&ws->info.r600_max_pipes);
return TRUE;
}

View file

@ -98,6 +98,7 @@ struct radeon_info {
uint32_t r600_va_start;
uint32_t r600_ib_vm_max_size;
boolean r600_has_streamout;
uint32_t r600_max_pipes;
};
enum radeon_feature_id {