summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers
Commit message (Collapse)AuthorAgeFilesLines
* r600g: consolidate vertex_buffer_update functionsMarek Olšák2011-01-304-164/+134
|
* r600g: consolidate draw_vbo functions (v2)Marek Olšák2011-01-305-258/+142
| | | | Added a conditional to spi_update per Dave's comment.
* r600g: make r600_drawl inherit pipe_draw_infoMarek Olšák2011-01-305-54/+30
|
* r600g: add back u_upload_mgr integrationMarek Olšák2011-01-3010-214/+73
| | | | | | | | | | | | I can't see a performance difference with this code, which means all the driver-specific code removed in this commit was unnecessary. Now we use u_upload_mgr in a slightly different way than we did before it got dropped. I am not restoring the original code "as is" due to latest u_upload_mgr changes that r300g performance benefits from. This also fixes: - piglit/fp-kil
* nvc0: implement transform feedback stateChristoph Bumiller2011-01-307-59/+163
|
* nvc0: enable PIPE_CAP_ARRAY_TEXTURES and fix themChristoph Bumiller2011-01-294-19/+34
|
* softpipe: fix array textures to use resource array_sizeBrian Paul2011-01-283-21/+88
| | | | Don't use height for 1D array textures or depth for 2D array textures.
* r300g: fix resource_copy_region for DXT SRGB formatsMarek Olšák2011-01-281-4/+4
|
* r600g: handle PIPE_CAP_ARRAY_TEXTURESMarek Olšák2011-01-281-0/+1
|
* r300g: handle PIPE_CAP_ARRAY_TEXTURESMarek Olšák2011-01-281-0/+1
|
* r300g: 8x8-compressed zbuffer can only be point-sampledMarek Olšák2011-01-281-1/+2
|
* r300g: fix and re-enable 8x8 zbuffer compression modeMarek Olšák2011-01-286-44/+69
| | | | Also cleanup the whole thing.
* r300g: print driver info if RADEON_DEBUG=infoMarek Olšák2011-01-274-4/+39
|
* r300g: add winsys flag CAN_AACOMPRESSMarek Olšák2011-01-271-1/+2
|
* r300g: rename flag squaretiling -> drm_2_1_0Marek Olšák2011-01-273-3/+3
|
* r300g: fix some bugs with zbuffer compression (v4)Marek Olšák2011-01-2711-291/+299
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* softpipe: support for 1D/2D texture arraysBrian Paul2011-01-253-1/+210
|
* r600g: Implement timer queries.Mathias Fröhlich2011-01-252-1/+5
|
* softpipe: fix off-by-one error in setup_fragcoord_coeff()Brian Paul2011-01-251-1/+1
| | | | | | | | | If we invert Y, need to subtract one from the surface height. Fixes https://bugs.freedesktop.org/show_bug.cgi?id=26795 for softpipe. NOTE: This is a candidate for the 7.9 and 7.10 branches.
* nvc0: Move declaration before code.Vinson Lee2011-01-241-2/+2
| | | | Fixes nvc0 SCons build.
* svga: Add more swrast debugingJakob Bornecrantz2011-01-254-4/+34
|
* svga: Use get once helpers for context debug envsJakob Bornecrantz2011-01-251-4/+8
|
* rbug: Fix surface reference leakJakob Bornecrantz2011-01-251-3/+3
|
* r600g: FLT_TO_INT* are vector instructions on Evergreen.Henri Verbeet2011-01-251-2/+2
| | | | | | FLT_TO_INT is a vector instruction, despite what the (current) documentation says. FLT_TO_INT_FLOOR and FLT_TO_INT_RPI aren't explicitly mentioned in the documentation, but those are vector instructions too.
* r300g: remove unused functionMarek Olšák2011-01-241-22/+0
|
* r300g: remove any traces of depth_clampMarek Olšák2011-01-242-3/+2
| | | | | | | | I couldn't make it work. GB_TILE_CONFIG.Z_EXTENDED, which enables per-pixel Z clamping, and VAP_CLIP_CNTL.CLIP_DISABLE, which disables clipping, do help, but they also add regressions like random graphics corruptions in some games.
* r300g: handle PIPE_CAP_INSTANCED_DRAWING in get_paramMarek Olšák2011-01-241-0/+1
|
* Revert "r300g/swtcl: re-enable LLVM"Jakob Bornecrantz2011-01-243-24/+1
| | | | This reverts commit 88550083b3857184445075e70fed8b2eed4952a1.
* i915g: Remove draw_flushes and state that we don't need to trackJakob Bornecrantz2011-01-243-35/+16
|
* i915g: Improve constant handlingJakob Bornecrantz2011-01-241-7/+17
|
* r300g: Increase fragment shader limits for r400 cardsTom Stellard2011-01-233-39/+88
| | | | | r400 fragment shaders now support up to 64 temporary registers, 512 ALU instructions, and 512 TEX instructions.
* nvc0: implement point coord replacementChristoph Bumiller2011-01-234-11/+59
| | | | | | | | | | | But we have to cheat and peek at the GENERIC semantic indices the state tracker uses for TEXn. Only outputs from 0x300 to 0x37c can be replaced, and so we have to know on shader compilation which ones to put there in order to keep doing separate shader objects properly. At some point I'll probably create a patch that makes gallium not force us to discard the information about what is a TexCoord.
* r300g: support sRGB colorbuffersMarek Olšák2011-01-232-6/+52
| | | | | | We are not required to do the linear->sRGB conversion if ARB_framebuffer_sRGB is unsupported. However I think the conversion should work in hw except for blending, which matches the D3D9 behavior.
* r300/compiler: remove any code related to relative addressing of temporariesMarek Olšák2011-01-234-1/+25
| | | | | The hw can't do it and the code was useless anyway (it's lowered in the GLSL compiler).
* nvc0: fix emit_cvt for ceil, floor and truncChristoph Bumiller2011-01-232-13/+22
|
* nvc0: remove bad assert and emit TEMP movs insteadChristoph Bumiller2011-01-231-2/+1
|
* nvc0: fix address and value slot assignment in load combiningChristoph Bumiller2011-01-231-1/+6
|
* nvc0: don't omit highest bit of branch targetChristoph Bumiller2011-01-231-1/+1
| | | | Fixes negative relative branch offsets.
* nvc0: recognize r63 as zero in constant foldingChristoph Bumiller2011-01-233-13/+9
|
* nvc0: add MARK_RING where missing to avoid too many relocs errorsChristoph Bumiller2011-01-236-4/+19
|
* nvc0: don't apply base vertex to per-instance arraysChristoph Bumiller2011-01-231-1/+3
|
* nvc0: commute sources of SET too if beneficialChristoph Bumiller2011-01-232-2/+2
|
* nvc0: accept neg abs modifiers on lg2Christoph Bumiller2011-01-231-1/+1
|
* softpipe: pass surface format to get/put_tile functionsBrian Paul2011-01-221-10/+12
| | | | | | | | | | | | | When we read/write image tiles we need to use the format specified in the pipe_surface, not the pipe_transfer format (which comes from the underlying texture/resource format). This comes up when rendering to sRGB surfaces (via OpenGL render to texture). Ignoring the new GL_ARB/EXT_framebuffer_sRGB extension for now, when we render to a sRGB surface we need to treat it like a regular, linear colorspace RGB surface. Before, when we read/wrote tiles to sRGB surfaces we were inadvertantly doing the color space conversion.
* gallium/softpipe: replace pipe_get_tile_swizzle()Brian Paul2011-01-221-15/+10
| | | | | | The new function, pipe_get_tile_rgba_format(), no longer takes a swizzle (we weren't actually using it anywhere). Rename it to indicate that the format is passed explicitly.
* softpipe: use proper type for format fieldBrian Paul2011-01-221-1/+1
|
* i915g: Don't (un)map vbuf on each (un)map callJakob Bornecrantz2011-01-211-4/+12
|
* i915g: Don't do unnecessary copies of constantsJakob Bornecrantz2011-01-215-25/+32
| | | | | Even tho st/mesa use user buffers for constants align buffers other state trackers doesn't use user buffers.
* i915g: Don't emit FS constants when VS contants changeJakob Bornecrantz2011-01-215-11/+31
|
* i915g: Use slab allocator for transfersJakob Bornecrantz2011-01-215-21/+55
| | | | Also remove unused i915_transfer struct