summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/r300/r300_chipset.h
Commit message (Collapse)AuthorAgeFilesLines
* winsys/radeon: simplify how value queries workMarek Olšák2011-07-251-7/+1
| | | | | This drops the get_value query and adds a function query_info, which returns all the values in one nice structure.
* r300g: consolidate deducing chipset infoMarek Olšák2011-06-071-8/+6
| | | | Use the new PCI ID table, make it simpler.
* r300g: emit US_FORMAT on R520 onlyMarek Olšák2011-04-081-1/+1
|
* r300g: fix texturing with sizes > 2048 on r500Marek Olšák2011-04-081-0/+2
|
* r300g: require DRM 2.3.0 (kernel 2.6.34)Marek Olšák2011-03-021-2/+0
| | | | Running any older kernel is not recommended anyway.
* r300g: fix some bugs with zbuffer compression (v4)Marek Olšák2011-01-271-2/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This drops the memblock manager for ZMASK. Instead, only one zbuffer can be compressed at a time. Note that this does not necessarily have to be slower. When there is a large number of zbuffers, compression might be used more often than it was before. It's also easier to debug. How it works: 1) 'clear' turns the compression on. 2) If some other zbuffer is set or the currently-bound zbuffer is used for texturing, the driver decompresses it and then turns the compression off. Notes: - The ZMASK clear has been refactored, so that only one packet3 is used to clear ZMASK. - The 8x8 compression mode is disabled. I couldn't make it work without issues. - Also removed driver-specific stuff from u_blitter. Driver status: - RV530 and R580 appear to just work (finally). - RV570 should work, but there may be an issue that we don't correctly calculate the number of dwords to clear, resulting in a partially uninitialized zbuffer. - RS690 misrenders as if no ZMASK clear happened. No idea what's going on. - RV350 may even hardlock. This issue was already present and this patch doesn't fix it. I think we are still missing some hardware info we need to make the zbuffer compression work fully. Note that there is also an issue with HiZ, resulting in a sort of blocky zigzagged corruption around some objects.
* r300g: add capability bit index_bias_supportedMarek Olšák2010-12-031-0/+2
| | | | .. instead of calling r500_index_bias_supported(..) every draw call.
* r300g: fix texture swizzling with compressed textures on r400-r500Marek Olšák2010-12-011-0/+2
| | | | | | This fixes all S3TC piglit/texwrap tests. NOTE: This is a candidate for the 7.9 branch.
* r300g: implement hyper-z support. (v4)Dave Airlie2010-08-051-2/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | This implements fast Z clear, Z compression, and HiZ support for r300->r500 GPUs. It also allows cbzb clears when fast Z clears are being used for the ZB. It requires a kernel with hyper-z support. Thanks to Marek Olšák <maraeo@gmail.com>, who started this off, and Alex Deucher at AMD for providing lots of hints. v2: squashed zmask ram size fix] squashed r300g/blitter: fix Z readback when compressed] v3: rebase around texture changes in master - .1 fix more bits v4: migrated to using u_mm in r300_texture to manage hiz/zmask rams consistently disabled HiZ when using OQ flush z-cache before turning hyper-z off update hyper-z state on dsa state change store depthclearvalue across cbzb clears and replace it afterwards. Signed-off-by: Dave Airlie <airlied@redhat.com>
* r300g: add "has HiZ" flag, add ZMask regsMarek Olšák2010-06-241-0/+2
|
* r300g: add is_rv350 flagMarek Olšák2010-04-201-5/+15
|
* r300g: raise the number of texture units to 16 for all supported chipsetsMarek Olšák2010-04-051-0/+2
| | | | | | | | As per Radeon 9700 Opengl Programming and Optimization Guide [1], there are 16 texture units even on the first r300 chipsets. If you think I am wrong, feel free to propose a patch. [1] Here's PDF: http://people.freedesktop.org/~mareko/
* r300g: add is_r400 flagMarek Olšák2010-01-121-1/+8
| | | | r4xx has some additional fragment shader registers compared to r3xx.
* r300g: Cleanup header includes.Corbin Simpson2009-10-211-3/+3
|
* r300g: fixup arb occulsion query support.Dave Airlie2009-10-141-0/+2
| | | | | | | | | | | | | | | 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.
* r300g: Add high_second_pipe cap for R3xx chipsets.Corbin Simpson2009-08-181-0/+2
| | | | | This name is totally subject to change if ever I need to separate R3xx for some other reason.
* Revert "r300-gallium, radeon-gallium: Nuke gb_pipes from orbit."Corbin Simpson2009-08-181-0/+2
| | | | | | | | | | This reverts commit 6a40d1e9d96f8e8c57bc3bbd6f567cacd4471f59. Turns out that we *do* need these for OQ after all. Go figure. Conflicts: src/gallium/winsys/drm/radeon/core/radeon_r300.h
* r300-gallium, radeon-gallium: Nuke gb_pipes from orbit.Corbin Simpson2009-05-171-2/+0
| | | | | See the previous commit for an explanation. This is just all the support code for GB_TILE_CONFIG.
* r300-gallium: Add RS600 chipsets.Corbin Simpson2009-02-271-0/+1
|
* r300: Deobfuscate a few registers, fix inaccurate variable names.Corbin Simpson2009-02-011-4/+5
| | | | It's not "pipes", it's floating-point vertex processors. Completely different.
* r300: Add some useful debugging information; remove a couple compile warnings.Corbin Simpson2009-02-011-27/+0
| | | | Deck chairs on the Titanic.
* amd/r300: Wire up GETPARAM ioctls.Corbin Simpson2009-02-011-1/+1
| | | | Whoo, stuff is starting to look cleaner and cleaner.
* r300: Add num_vert_pipes (and remove busted num_pipes.)Corbin Simpson2009-02-011-3/+5
|
* r300: Use chip caps for something.Corbin Simpson2009-02-011-3/+6
| | | | | | Step two: Integration. Yay? Time to stop messing around with this and actually go do things.
* r300: Add chipset sorting and capabilities.Corbin Simpson2009-02-011-0/+100
Part one: Capabilities from classic Mesa. Damn, if only we didn't have so many fucking Radeons!