diff options
author | Dave Airlie <airlied@redhat.com> | 2009-10-14 16:53:12 +1000 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2009-10-14 16:53:12 +1000 |
commit | c1bee7bdea470b6b5dcebef9aacc8fe4feca687c (patch) | |
tree | d58eb285c84f7b9510565be37c5df0f742fd679d /src/gallium/winsys/drm/radeon/core/radeon_r300.c | |
parent | 210481ae16e966865dcf9f1fd5f5dfabf4dc28bc (diff) |
r300g: fixup arb occulsion query support.
1: add rv530 support
- num z pipes cap
- add proper start/finish query options for rv530
2: convert to use linked list properly.
3: add flushing required check.
4: initial Z top disabling support.
TODO:
make it actually work on my rv530.
Diffstat (limited to 'src/gallium/winsys/drm/radeon/core/radeon_r300.c')
-rw-r--r-- | src/gallium/winsys/drm/radeon/core/radeon_r300.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/gallium/winsys/drm/radeon/core/radeon_r300.c b/src/gallium/winsys/drm/radeon/core/radeon_r300.c index 3587892e00..7ea5d1fb4e 100644 --- a/src/gallium/winsys/drm/radeon/core/radeon_r300.c +++ b/src/gallium/winsys/drm/radeon/core/radeon_r300.c @@ -164,6 +164,16 @@ static void do_ioctls(struct r300_winsys* winsys, int fd) } winsys->gb_pipes = target; + /* get Z pipes */ + info.request = RADEON_INFO_NUM_Z_PIPES; + retval = drmCommandWriteRead(fd, DRM_RADEON_INFO, &info, sizeof(info)); + if (retval) { + fprintf(stderr, "%s: Failed to get GB pipe count, " + "error number %d\n", __FUNCTION__, retval); + exit(1); + } + winsys->z_pipes = target; + /* Then, get PCI ID */ info.request = RADEON_INFO_DEVICE_ID; retval = drmCommandWriteRead(fd, DRM_RADEON_INFO, &info, sizeof(info)); |