diff options
Diffstat (limited to 'src/gallium/winsys/radeon')
-rw-r--r-- | src/gallium/winsys/radeon/drm/radeon_drm.c | 4 | ||||
-rw-r--r-- | src/gallium/winsys/radeon/drm/radeon_r300.c | 4 | ||||
-rw-r--r-- | src/gallium/winsys/radeon/drm/radeon_winsys.h | 8 |
3 files changed, 10 insertions, 6 deletions
diff --git a/src/gallium/winsys/radeon/drm/radeon_drm.c b/src/gallium/winsys/radeon/drm/radeon_drm.c index 8c22738004e..8d981b22e3d 100644 --- a/src/gallium/winsys/radeon/drm/radeon_drm.c +++ b/src/gallium/winsys/radeon/drm/radeon_drm.c @@ -100,8 +100,8 @@ static void do_ioctls(int fd, struct radeon_libdrm_winsys* winsys) version->version_minor >= 1; #endif - /* XXX */ - winsys->tex3d_mip_bug = TRUE; + winsys->drm_2_3_0 = version->version_major > 2 || + version->version_minor >= 3; info.request = RADEON_INFO_DEVICE_ID; retval = drmCommandWriteRead(fd, DRM_RADEON_INFO, &info, sizeof(info)); diff --git a/src/gallium/winsys/radeon/drm/radeon_r300.c b/src/gallium/winsys/radeon/drm/radeon_r300.c index 2fcf7cf9821..90675ada968 100644 --- a/src/gallium/winsys/radeon/drm/radeon_r300.c +++ b/src/gallium/winsys/radeon/drm/radeon_r300.c @@ -265,8 +265,8 @@ static uint32_t radeon_get_value(struct r300_winsys_screen *rws, return ws->z_pipes; case R300_VID_SQUARE_TILING_SUPPORT: return ws->squaretiling; - case R300_VID_TEX3D_MIP_BUG: - return ws->tex3d_mip_bug; + case R300_VID_DRM_2_3_0: + return ws->drm_2_3_0; } return 0; } diff --git a/src/gallium/winsys/radeon/drm/radeon_winsys.h b/src/gallium/winsys/radeon/drm/radeon_winsys.h index 396f258c312..ca789be8e93 100644 --- a/src/gallium/winsys/radeon/drm/radeon_winsys.h +++ b/src/gallium/winsys/radeon/drm/radeon_winsys.h @@ -60,8 +60,12 @@ struct radeon_libdrm_winsys { /* Square tiling support. */ boolean squaretiling; - /* Square tiling support. */ - boolean tex3d_mip_bug; + /* DRM 2.3.0 + * - R500 VAP regs + * - MSPOS regs + * - Fixed texture 3D size calculation + */ + boolean drm_2_3_0; /* DRM FD */ int fd; |