summaryrefslogtreecommitdiff
path: root/src/gallium/drivers
AgeCommit message (Collapse)Author
2011-01-27r300g: fix some bugs with zbuffer compression (v4)Marek Olšák
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.
2011-01-25softpipe: support for 1D/2D texture arraysBrian Paul
2011-01-25r600g: Implement timer queries.Mathias Fröhlich
2011-01-25softpipe: fix off-by-one error in setup_fragcoord_coeff()Brian Paul
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.
2011-01-24nvc0: Move declaration before code.Vinson Lee
Fixes nvc0 SCons build.
2011-01-25svga: Add more swrast debugingJakob Bornecrantz
2011-01-25svga: Use get once helpers for context debug envsJakob Bornecrantz
2011-01-25rbug: Fix surface reference leakJakob Bornecrantz
2011-01-25r600g: FLT_TO_INT* are vector instructions on Evergreen.Henri Verbeet
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.
2011-01-24r300g: remove unused functionMarek Olšák
2011-01-24r300g: remove any traces of depth_clampMarek Olšák
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.
2011-01-24r300g: handle PIPE_CAP_INSTANCED_DRAWING in get_paramMarek Olšák
2011-01-24Revert "r300g/swtcl: re-enable LLVM"Jakob Bornecrantz
This reverts commit 88550083b3857184445075e70fed8b2eed4952a1.
2011-01-24i915g: Remove draw_flushes and state that we don't need to trackJakob Bornecrantz
2011-01-24i915g: Improve constant handlingJakob Bornecrantz
2011-01-23r300g: Increase fragment shader limits for r400 cardsTom Stellard
r400 fragment shaders now support up to 64 temporary registers, 512 ALU instructions, and 512 TEX instructions.
2011-01-23nvc0: implement point coord replacementChristoph Bumiller
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.
2011-01-23r300g: support sRGB colorbuffersMarek Olšák
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.
2011-01-23r300/compiler: remove any code related to relative addressing of temporariesMarek Olšák
The hw can't do it and the code was useless anyway (it's lowered in the GLSL compiler).
2011-01-23nvc0: fix emit_cvt for ceil, floor and truncChristoph Bumiller
2011-01-23nvc0: remove bad assert and emit TEMP movs insteadChristoph Bumiller
2011-01-23nvc0: fix address and value slot assignment in load combiningChristoph Bumiller
2011-01-23nvc0: don't omit highest bit of branch targetChristoph Bumiller
Fixes negative relative branch offsets.
2011-01-23nvc0: recognize r63 as zero in constant foldingChristoph Bumiller
2011-01-23nvc0: add MARK_RING where missing to avoid too many relocs errorsChristoph Bumiller
2011-01-23nvc0: don't apply base vertex to per-instance arraysChristoph Bumiller
2011-01-23nvc0: commute sources of SET too if beneficialChristoph Bumiller
2011-01-23nvc0: accept neg abs modifiers on lg2Christoph Bumiller
2011-01-22softpipe: pass surface format to get/put_tile functionsBrian Paul
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.
2011-01-22gallium/softpipe: replace pipe_get_tile_swizzle()Brian Paul
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.
2011-01-22softpipe: use proper type for format fieldBrian Paul
2011-01-21i915g: Don't (un)map vbuf on each (un)map callJakob Bornecrantz
2011-01-21i915g: Don't do unnecessary copies of constantsJakob Bornecrantz
Even tho st/mesa use user buffers for constants align buffers other state trackers doesn't use user buffers.
2011-01-21i915g: Don't emit FS constants when VS contants changeJakob Bornecrantz
2011-01-21i915g: Use slab allocator for transfersJakob Bornecrantz
Also remove unused i915_transfer struct
2011-01-21r600g: check if hardware blits are possible bevore enabling tillingChristian König
2011-01-21r600g: FLT_TO_INT_FLOOR is trans instructionAlex Deucher
Add missing evergreen FLT_TO_INT_FLOOR instruction.
2011-01-20softpipe: check for null pointers during context create/destroyBrian Paul
See http://bugs.freedesktop.org/show_bug.cgi?id=32309 Apparently, malloc() is failing during context creation. Not checking for nulls here led to crashes elsewhere.
2011-01-19softpipe: Bind samplers to views instead of the underlying resource.Henri Verbeet
Signed-off-by: Brian Paul <brianp@vmware.com>
2011-01-19softpipe: Get rid of the redundant resource parameter to get_sampler_variant().Henri Verbeet
Signed-off-by: Brian Paul <brianp@vmware.com>
2011-01-19llvmpipe: implement TGSI_PROPERTY_FS_COLOR0_WRITES_ALL_CBUFSBrian Paul
Fixes http://bugs.freedesktop.org/show_bug.cgi?id=33284
2011-01-19r600g: fix segfault if texture operand is a literalChristian König
This fixes Bug 33262
2011-01-19r600g: fix reserve_cfile for R700+Christian König
According to R700 ISA we have only two channels for cfile constants. This patch makes piglit tests "glsl1-constant array with constant indexing" happy on RV710.
2011-01-18llvmpipe: make sure binning is active when we begin/end a queryBrian Paul
This fixes a potential failure when a begin/end_query is the first thing to happen after flushing the scene. NOTE: This is a candidate for the 7.10 and 7.9 branches.
2011-01-18softpipe: rename some functions for consistencyBrian Paul
2011-01-18r600g: Kill trailing whitespace.Henri Verbeet
2011-01-18r600g: Remove the unused eg_states_inc.h and r600_states_inc.h.Henri Verbeet
2011-01-18r600g: Simplify some r600_bc_add_alu_type() calls to r600_bc_add_alu().Henri Verbeet
2011-01-18softpipe: added some null pointer checksBrian Paul
This shouldn't really be needed but it may help with http://bugs.freedesktop.org/show_bug.cgi?id=32309
2011-01-18softpipe: s/tex_cache/fragment_tex_cache/Brian Paul
Just to be more consistant with the vertex and geometry tex cache fields.