aboutsummaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/r300/r300_context.c
Commit message (Collapse)AuthorAgeFilesLines
* winsys/radeon: add R300 infix to winsys feature namesMarek Olšák2011-07-251-1/+1
|
* winsys/radeon: simplify how value queries workMarek Olšák2011-07-251-10/+10
| | | | | This drops the get_value query and adds a function query_info, which returns all the values in one nice structure.
* [g3dvl] and finally remove pipe_video_contextChristian König2011-07-081-0/+2
|
* [g3dvl] move video buffer creation out of video contextChristian König2011-07-081-0/+3
|
* Revert "Merge remote-tracking branch 'mareko/r300g-draw-instanced' into ↵Christian König2011-06-041-26/+0
| | | | | | | pipe-video" This reverts commit 10370b752cd793665feec9494e6545a3f04c69f9, reversing changes made to ded2a9a628c58c2c8bfaaf6b8dd213e68de1dd20.
* Merge remote-tracking branch 'mareko/r300g-draw-instanced' into pipe-videoChristian König2011-06-031-0/+26
|\
| * r300g: implement draw_instanced for HWTCLMarek Olšák2011-04-251-0/+26
| |
* | r300g: dynamically ask for and release Hyper-Z accessMarek Olšák2011-05-151-13/+13
|/ | | | | We ask for Hyper-Z access when clearing a zbuffer. We release it if no zbuffer clear has been done for 2 seconds.
* r300g/winsys: rename r300->radeon and do a little cleanupMarek Olšák2011-04-181-16/+15
| | | | | Renaming a few files, types, and functions. Also make the winsys independent of r300g.
* r300g: decide whether a flush should be asynchronous when calling itMarek Olšák2011-03-081-3/+3
| | | | Thread offloading is not sometimes desirable, e.g. when mapping a buffer.
* r300g: cleanup parameters of draw functionsMarek Olšák2011-03-051-3/+1
|
* r300g: preliminary implementation of clamping controlsMarek Olšák2011-03-041-2/+1
|
* r300g: implement FP16 alpha testMarek Olšák2011-03-041-1/+1
|
* r300g: require DRM 2.3.0 (kernel 2.6.34)Marek Olšák2011-03-021-2/+1
| | | | Running any older kernel is not recommended anyway.
* r300g: initialize some r500 PS3 regsMarek Olšák2011-03-011-3/+12
|
* r300g: fix printing whether Z compression is enabledMarek Olšák2011-03-011-1/+2
|
* r300g: fix HiZ memory size computation and deciding when to use HiZMarek Olšák2011-03-011-12/+5
| | | | | | | I removed the HiZ memory management, because the HiZ RAM is too small and I also did it in hope that HiZ will be enabled more often. This also sets aligned strides to HIZ_PITCH and ZMASK_PITCH.
* r300g: initialize SC_SCREENDOORMarek Olšák2011-02-281-1/+2
|
* r300g: fix missing initializers warningBrian Paul2011-02-221-2/+4
|
* r300g: fix a possible race when counting contextsMarek Olšák2011-02-191-2/+4
| | | | Atomics aren't sufficient here.
* r300g: implement fences using dummy relocationsMarek Olšák2011-02-151-25/+0
| | | | So finally we have them.
* r300g: import the last bits of libdrm and cleanup the whole thingMarek Olšák2011-02-111-4/+2
| | | | | | | | | | | | | | Based on Dave's branch. The majority of this commit is a cleanup, mainly renaming things. There wasn't much code to import, just ioctl calls. Also done: - implemented unsynchronized bo_map (important optimization!) - radeon_bo_is_referenced_by_cs is no longer a refcount hack - dropped the libdrm_radeon dependency I'm surprised that this has resulted in less code in the end.
* r300g: consolidate buffers and textures to r300_resourceMarek Olšák2011-02-101-2/+2
| | | | Transfers and create/destroy are still handled separately.
* r300g: simplify WRITE_RELOC API and cleanupMarek Olšák2011-02-101-2/+2
|
* r300g: use the same upload buffer for vertices and indicesMarek Olšák2011-02-081-11/+3
|
* u_vbuf_mgr: add a way to specify the BIND flag for the upload bufferMarek Olšák2011-02-081-0/+1
|
* r300g: use the new vertex buffer managerMarek Olšák2011-02-071-21/+7
|
* r300g: rework vertex format fallbackMarek Olšák2011-01-301-2/+2
| | | | | | 1) Only translate the [min_index, max_index] range. 2) Upload translated vertices via the uploader. 3) Rename valid_vertex_buffer[] to real_vertex_buffer[]
* r300g: print driver info if RADEON_DEBUG=infoMarek Olšák2011-01-271-1/+26
|
* r300g: fix some bugs with zbuffer compression (v4)Marek Olšák2011-01-271-4/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Revert "r300g/swtcl: re-enable LLVM"Jakob Bornecrantz2011-01-241-15/+1
| | | | This reverts commit 88550083b3857184445075e70fed8b2eed4952a1.
* r300g: derive user buffer sizes at draw timeMarek Olšák2011-01-071-0/+1
| | | | | | | This only uploads the [min_index, max_index] range instead of [0, userbuf size], which greatly speeds up user buffer uploads. This is also a prerequisite for atomizing vertex arrays in st/mesa.
* r300g: increase the size of upload buffersMarek Olšák2010-12-251-2/+2
|
* r300g/swtcl: re-enable LLVMMarek Olšák2010-12-241-1/+15
| | | | | | Based on a patch from Drill <[email protected]>. NOTE: This is a candidate for the 7.10 branch.
* r300g: Remove unnecessary headers.Vinson Lee2010-12-221-2/+0
|
* r300g: optimize looping over atomsMarek Olšák2010-12-051-21/+5
| | | | This also removes DBG_STATS (the stats can be obtained with valgrind instead).
* r300g: fix buildMarek Olšák2010-12-031-1/+1
|
* r300g: Drop unnecessary castnobled2010-12-031-1/+1
|
* r300g: Abort if draw_create() failsnobled2010-12-031-0/+2
| | | | The other drivers need to be updated to do this, too.
* r300g: Abort if atom allocations failnobled2010-12-031-18/+28
|
* util: rename u_mempool -> u_slabMarek Olšák2010-11-301-8/+8
|
* r300g: fix rendering with no vertex elementsMarek Olšák2010-11-201-0/+17
| | | | | Fixes glsl-vs-point-size, although I meant to fix glsl-novertexdata. Since swrast fails glsl-novertexdata too, I guess it's a core issue.
* r300g: rename has_hyperz -> can_hyperzMarek Olšák2010-11-101-2/+2
|
* r300g,u_blitter: use u_framebufferMarek Olšák2010-08-291-1/+1
| | | | Removing another function duplication in u_blitter.
* draw: specialized cliptesting routinesKeith Whitwell2010-08-251-2/+0
|
* r300g: fix context destroy under hyperzDave Airlie2010-08-171-3/+3
| | | | | | we were destroying the mm before unrefing all the objects, so segfault. Signed-off-by: Dave Airlie <[email protected]>
* r300g: fix an invalid pointer in freeMarek Olšák2010-08-161-1/+1
|
* r300g: Let hyperz init failnobled2010-08-161-1/+2
| | | | Signed-off-by: Marek Olšák <[email protected]>
* r300g: Fix leaks in failed context creationnobled2010-08-161-34/+48
| | | | | | | | | | | This changes r300_destroy_context() so it can be called on a partially-initialized context, and uses it when r300_create_context() hits a fatal error. This makes sure r300_create_context() doesn't leak memory or neglect to call r300_update_num_contexts() when it fails. Signed-off-by: Marek Olšák <[email protected]>
* r300g: Fix macronobled2010-08-161-1/+3
| | | | | | | This fixes a potential bug if (has_hyperz) is false (it would still init the atom as if has_hyperz were true). Signed-off-by: Marek Olšák <[email protected]>