summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers
Commit message (Collapse)AuthorAgeFilesLines
* scons: Aggregate all tiny libraries in a single library.José Fonseca2010-01-011-1/+1
| | | | | Makes integration of gallium into out of tree components much easier. No pratical change for components in this tree,
* nv50: small fix for handling "dangerous" swizzlesChristoph Bumiller2009-12-311-1/+1
|
* Merge branch 'mesa_7_7_branch'Brian Paul2009-12-3114-14/+25
|\ | | | | | | | | | | | | | | Conflicts: configs/darwin src/gallium/auxiliary/util/u_clear.h src/gallium/state_trackers/xorg/xorg_exa_tgsi.c src/mesa/drivers/dri/i965/brw_draw_upload.c
| * llvmpipe: Fix assert.Vinson Lee2009-12-281-1/+1
| |
| * llvmpipe: Silence compiler warnings.Vinson Lee2009-12-282-2/+7
| |
| * llvmpipe: Silence compiler warnings.Vinson Lee2009-12-286-4/+6
| |
| * trace: Silence unused variable warnings.Vinson Lee2009-12-271-0/+2
| |
| * i915g: Silence unused variable warning.Vinson Lee2009-12-271-0/+1
| |
| * softpipe: Silence unintialized variable warnings.Vinson Lee2009-12-271-1/+1
| |
| * softpipe: Silence unused variable warning.Vinson Lee2009-12-271-0/+1
| |
| * Merge branch 'mesa_7_6_branch' into mesa_7_7_branchBrian Paul2009-12-273-7/+7
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/gallium/auxiliary/util/u_network.c src/gallium/auxiliary/util/u_network.h src/gallium/drivers/i915/i915_state.c src/gallium/drivers/trace/tr_rbug.c src/gallium/state_trackers/vega/bezier.c src/gallium/state_trackers/vega/vg_context.c src/gallium/state_trackers/xorg/xorg_crtc.c src/gallium/state_trackers/xorg/xorg_driver.c src/gallium/winsys/xlib/xlib_brw_context.c src/mesa/main/mtypes.h
| | * trace: Silence uninitialized variable warnings.Vinson Lee2009-12-221-2/+2
| | |
| | * trace: Add PIPE_OS_APPLE.Vinson Lee2009-12-222-3/+3
| | |
| | * i915g: Use C-style comment.Vinson Lee2009-12-221-2/+4
| | |
| | * softpipe: Initialize source in blend_quad.Vinson Lee2009-12-121-1/+2
| | |
| | * i915g: Fix memory leak when pci id is unknown.Vinson Lee2009-12-081-0/+1
| | |
| | * i915g: Add missing break statement in i915_debug_packet.Vinson Lee2009-12-081-0/+1
| | |
* | | nv50: fix TEXLOD sequence and use it only in FPsChristoph Bumiller2009-12-311-1/+8
| | |
* | | nv50: cannot kill branch if immediate is usedChristoph Bumiller2009-12-311-0/+3
| | | | | | | | | | | | The immediate's bits eat the condition bits.
* | | nv50: make assimilate_temp safeChristoph Bumiller2009-12-311-16/+28
| | | | | | | | | | | | | | | Cannot change hw reg assigned to a TGSI TEMP on the fly if we are in a loop, conditional, or can jump around wildly.
* | | nv50: handle TGSI_OPCODE_EXP,LOGChristoph Bumiller2009-12-311-0/+59
| | | | | | | | | | | | Not that they make much sense on nv50, but we also do LIT ...
* | | nv50: add support for subroutinesChristoph Bumiller2009-12-311-53/+78
| | |
* | | nv50: alloc_reg on reg_instanceChristoph Bumiller2009-12-311-14/+15
| | | | | | | | | | | | | | | | | | If we create multiple instances of an nv50_reg referencing them same resource, register allocation from alloc_reg has to be done with the original nv50_reg.
* | | nv50: multiply polygon offset units by 2Christoph Bumiller2009-12-311-1/+1
| | |
* | | nv50: neg and abs modifiers for flopsChristoph Bumiller2009-12-311-28/+55
| | | | | | | | | | | | Also fixes RSQ of negative sources.
* | | nv50: don't negate immediates in set_immdChristoph Bumiller2009-12-311-12/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This negation would only be triggered in situations where it's incorrect. The caller of set_immd should negate the immediate value in the instruction itself if desired, and will also know if it's a float or an int. ADD TEMP[0], CONST[0], -IMMD[0] would load the immediate into extra TEMP, negated, and set the negate flag in add as well - double negation.
* | | nouveau: Fix glTexSubImage on swizzled surfaces on <=NV40Luca Barbieri2009-12-306-55/+74
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently in nvXX_transfer_new a temporary as large as the surface is created. If the subrectangle is not the whole texture we would need to read back the whole texture, but we aren't. Thus, everything but the subrectangle specified is loaded as garbage. This can be seen in progs/demos/ray. This patch fixes the problem by creating a temporary that covers only the desired subrectangle. That makes us hit an alignment assert in nv04_surface_2d.c. Fix it using the point registers instead of manipulating the swizzled surface offset to account for the destination coordinates (which do not seem to have a 1024 limit). Signed-off-by: Francisco Jerez <[email protected]>
* | | nouveau: Unreference state/buffer objects on context/screen destruction.Younes Manton2009-12-2812-5/+102
| | | | | | | | | | | | | | | | | | | | | | | | - unreference state objects so that buffer objects are unreferenced and eventually destroyed - free channel at screen's destruction Based on Krzysztof Smiechowicz's patch.
* | | nouveau: Fix swizzling for copies to rectangular texturesLuca Barbieri2009-12-281-3/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | nVidia hardware seems to swizzle rectangular texture (with width != height) coordinates by swizzling the lower bits and then adding the higher bits from the larger dimension. However, nv04_swizzle_bits ignores width and height and just interleaves everything. This causes problems with rectangular POT textures with height or width 2048 or 4096 (but not 2048x1024 where it works by chance) since the driver swizzles them in 1024x1024 chunks and gets the start position for the non-first chunks wrong. The following patch seems to fix those problems.
* | | nouveau: Fix nv20-40 swizzled miptree RTsLuca Barbieri2009-12-289-3/+122
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I just coded a patch that does this and seems to work fine. It must be fixed since it breaks OpenGL (or the state tracker can be changed, but it seems better to do it in the driver). The patch also fixes NV20 and NV30 in the same way. They compile but are untested. I would guess that using the 3D engine is faster for the larger levels, but the 2D engine is faster for the smaller ones (and lacks this issue).
* | | NV30/NV40 CMP and SCS src == dst handlingLuca Barbieri2009-12-282-16/+48
| | | | | | | | | | | | | | | | | | | | | | | | CMP and SCS can produce incorrect results if the source and destination are the same. This patch should fix the issues. CMP is fixed by predicating both moves. SCS by changing the order if the source component is X.
* | | llvmpipe: Unmapping vertex/index buffers does NOT flush draw module anymore.José Fonseca2009-12-281-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Not since 6094e79f4e3350d123c7532b1c73faa60834a62d. Drivers now need to flush draw module explicitely (which explains why all those previous commits adding draw_flushes calls were necessary). This is a good thing, but it's tricky to get this right in face of user buffers (it's not even clear who has the responsibility to flush when a user buffer is seen -- statetracker or pipe driver), so just force flush (temporarily) since it's not a bottleneck now.
* | | xlib: Integrate the trace driver with all pipe drivers.José Fonseca2009-12-281-3/+2
| | | | | | | | | | | | | | | | | | | | | And not just softpipe. It is particularly convenient to use llvmpipe instead, since it is much faster. It also allows to use rbug with all xlib drivers.
* | | nv04: Fix build after the latest nouveau_class.h changes.Francisco Jerez2009-12-286-62/+62
| | |
* | | nv50: Dehexify and bring up to date with new method defines.Marcin Kościelnicki2009-12-288-72/+69
| | | | | | | | | | | | Signed-off-by: Francisco Jerez <[email protected]>
* | | softpipe: Flush draw module when fragment pipeline state changes.José Fonseca2009-12-263-4/+21
| | |
* | | llvmpipe: Treat state changes systematically.José Fonseca2009-12-264-11/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | That is: - check for no op - update/flush draw module - update bound state and mark it as dirty In particular flushing the draw module is important since it may contain unflushed primitives which would otherwise be draw with wrong state.
* | | llvmpipe: Use comments and more code from softpipe's is_texture_referenced ↵José Fonseca2009-12-261-0/+8
| | | | | | | | | | | | implementation.
* | | softpipe: Flush draw module before switching framebuffer.José Fonseca2009-12-261-0/+2
| | | | | | | | | | | | Otherwise geometry might end up in the wrong rendertarget.
* | | llvmpipe: Flush draw module before switching framebuffer.José Fonseca2009-12-261-0/+2
| | | | | | | | | | | | Otherwise geometry will end up in the wrong rendertarget.
* | | trace: Fix transfer size computation.José Fonseca2009-12-261-1/+1
| | |
* | | svga: Allow to dump an individual command.José Fonseca2009-12-263-340/+363
| | |
* | | r300g: fixup for GS additionsDave Airlie2009-12-261-2/+4
| | | | | | | | | | | | draw_set_mapped_constant_buffer changed API
* | | gallium: geometry shader can be always enabled and we don't need a cap for thatZack Rusin2009-12-251-2/+0
| | | | | | | | | | | | | | | using the draw module allows us to enable geometry shading even on hardware that doesn't support it.
* | | softpipe: make it possible to dump geometry shader from the softpipeZack Rusin2009-12-253-0/+6
| | |
* | | softpipe/gs: don't crash with null shaderZack Rusin2009-12-251-1/+2
| | |
* | | gs: fix drivers so they work with geometry shadersZack Rusin2009-12-253-7/+7
| | |
* | | gallium: add geometry shader support to galliumZack Rusin2009-12-2521-40/+128
| | |
* | | i965g: get trivial/tri working again after edgeflag changesKeith Whitwell2009-12-244-34/+33
| | |
* | | i965g: strict aliasing changesKeith Whitwell2009-12-241-4/+4
| | |