summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers
Commit message (Collapse)AuthorAgeFilesLines
* r300g: fix alignement for NPOT values in hyperz setupNicolas Peninguy2011-03-111-3/+3
| | | | | | | With 3 pipes cards we need to align with NPOT values. This fixes: https://bugs.freedesktop.org/show_bug.cgi?id=32945 Signed-off-by: Nicolas Peninguy <[email protected]>
* Revert "gallium/svga: Only upload parts of vertexarrays that are actually used"Thomas Hellstrom2011-03-105-48/+3
| | | | | | | | This reverts commit 6d4e337f3890105c7d8a2f132412c137d2570d25. The commit is incorrect. I'll rework it. Revert for now. Signed-off-by: Thomas Hellstrom <[email protected]>
* i915g: implement surface clear functions using hw-clearDaniel Vetter2011-03-104-15/+103
| | | | | | Tested by temporarily using util_clear even when not using the blitter. Signed-off-by: Daniel Vetter <[email protected]>
* i915g: make set_framebuffer_state more robustDaniel Vetter2011-03-101-1/+2
| | | | | | u_blitter is lazy and doesn't fully clear it's stack-allocated fb. Signed-off-by: Daniel Vetter <[email protected]>
* i915g: implement hw clearDaniel Vetter2011-03-108-6/+131
| | | | | | | | | | | | | | | Benefits: - spares us a relocation. - needed for zone rendering (if that ever happens). - just awesome. v2: Rename the debug option. Completely disabling the blitter is required for Y tiling to work, so this option will cover other code paths in the future. v3: Implement suggestions by Jakob Bornecrantz. Signed-off-by: Daniel Vetter <[email protected]>
* i915g: blitter handles overlapping blitsDaniel Vetter2011-03-101-1/+0
| | | | | | No need to assert. Signed-off-by: Daniel Vetter <[email protected]>
* i915g: enable separate depth/stencil clearsDaniel Vetter2011-03-101-1/+1
| | | | Signed-off-by: Daniel Vetter <[email protected]>
* i915g: streamline derived state updates of the driver pipelineDaniel Vetter2011-03-103-4/+2
| | | | | | | | Flushing the batch/hw backend doesn't invalidate the derived state. So kill the unnecessary function calls and add an assert in emit_hardware_state for paranoia. Signed-off-by: Daniel Vetter <[email protected]>
* i915g: don't validate a NULL vboDaniel Vetter2011-03-101-1/+1
| | | | | | | With the new clear code this is possible (if the app call glClear before drawing the first primitive). Signed-off-by: Daniel Vetter <[email protected]>
* gallium/svga: Only upload parts of vertexarrays that are actually usedThomas Hellstrom2011-03-105-3/+48
| | | | | | | Make sure we only upload parts of vertex arrays that are actually used by a draw command. Signed-off-by: Thomas Hellstrom <[email protected]>
* nv50: add back initialization of redefine_user_bufferChristoph Bumiller2011-03-091-0/+2
| | | | Got lost in f80c03e1875fe96ff2f4c022e3cb76357828140d.
* r600g: remove some now unneeded code from r600_bc_vtx_buildChristian König2011-03-091-25/+1
|
* r600g: R700+ can do more than 8 tex and vtx clause in one CF instChristian König2011-03-091-2/+20
| | | | Reviewed-by: Henri Verbeet <[email protected]>
* r600g: split R600 and R700 CF generation for VTX and TEXChristian König2011-03-093-4/+22
| | | | Reviewed-by: Henri Verbeet <[email protected]>
* svga: Add a new winsys entry point to query the hw version.José Fonseca2011-03-093-0/+11
|
* gallium/svga: Don't replace user vertex buffer with uploaded copyThomas Hellstrom2011-03-091-1/+2
| | | | | | | | | Do that later on when we set up the hwtnl state instead. This addresses a problem when we drop the uploaded copy due to a vb size change, it will remain referenced in svga->curr.vb[], and the new contents of the vb will never be uploaded. Signed-off-by: Thomas Hellstrom <[email protected]>
* r300g: handle timeout parameter in fence_finishMarek Olšák2011-03-081-0/+17
|
* gallium: add timeout parameter to fence_finishMarek Olšák2011-03-0816-22/+45
| | | | | This is a follow-up to the ARB_sync patch for st/mesa and completes the ARB_sync implementation.
* r300g: add LATC supportMarek Olšák2011-03-083-4/+22
|
* r600g: set start instance correctlyChristian König2011-03-081-1/+1
|
* r300g: decide whether a flush should be asynchronous when calling itMarek Olšák2011-03-088-38/+37
| | | | Thread offloading is not sometimes desirable, e.g. when mapping a buffer.
* r300g: use pipelined transfers for RGTC texturesMarek Olšák2011-03-081-1/+2
|
* softpipe: clamp texcoords in sample_compare()Philip Taylor2011-03-071-24/+30
| | | | | | | | | This fixes http://bugs.freedesktop.org/show_bug.cgi?id=31159 for softpipe and fixes the piglit depth-tex-compare test. NOTE: This is a candidate for the 7.10 branch. Signed-off-by: Brian Paul <[email protected]>
* r600g: Simplify some swizzle lookups.Henri Verbeet2011-03-071-75/+14
|
* r600g: Constant buffers can contain up to 4096 constants.Henri Verbeet2011-03-072-1/+2
|
* r600g: use long long integers for instance addr calculationChristian König2011-03-061-1/+1
| | | | | | | Using a long for instance addr calculation isn't big enough on 32bit systems, use a long long int instead. Thanks to Rafael Monica for fixing this.
* trace: Use pipe_static_mutex.José Fonseca2011-03-063-22/+1
|
* i915g: update TODODaniel Vetter2011-03-061-10/+7
| | | | | | | | | Comments about the deleted stuff: - openaren hang: likely caused by the vertex corruptions, fixed by Jakob. - tiling: Y-tiling works with my hw-clear branch. X-tiling works as merged to master a while ago (execbuf2 version). Signed-off-by: Daniel Vetter <[email protected]>
* r300g/swtcl: advertise draw_instanced and primitive_restartMarek Olšák2011-03-051-2/+5
|
* r300g: implement instanced arraysMarek Olšák2011-03-055-48/+132
|
* gallium: split CAP_INSTANCE_DRAWING into INSTANCEID and INSTANCE_DIVISORMarek Olšák2011-03-057-7/+14
| | | | | | | | ARB_instanced_arrays is a subset of D3D9. ARB_draw_instanced is a subset of D3D10. The point of this change is to allow D3D9-level drivers to enable ARB_instanced_arrays without ARB_draw_instanced.
* r300g: cleanup parameters of draw functionsMarek Olšák2011-03-053-108/+113
|
* nv50: support the InstanceID system valueChristoph Bumiller2011-03-053-0/+25
|
* r600g: simplify instance addr calculationChristian König2011-03-051-47/+4
| | | | | Use MULHI_UINT instead of the more complex INT_TO_FLT->MUL->TRUNC->FLT_TO_INT
* nvc0: Update SConscript.Vinson Lee2011-03-041-3/+0
|
* nv50: Update SConscript.Vinson Lee2011-03-041-4/+0
|
* r600g: fix fragment shader size calculationChristian König2011-03-051-8/+9
| | | | | bc.ndw is altered in r600_bc_build, respect that in fragment shader size calculation.
* nv50,nvc0: get format desc for TIC entry from sampler view formatChristoph Bumiller2011-03-052-2/+2
| | | | Fixes piglit/tex-srgb.
* nv50,nvc0: share sampler state creationChristoph Bumiller2011-03-0510-150/+60
|
* nv50,nvc0: update the format tablesChristoph Bumiller2011-03-0510-641/+335
| | | | | | | | Removed sampler view support for USCALED/SSCALED, the texture unit refuses to convert to non-normalized float. The enums are treated like UNORM. Removed duplicate format related headers.
* nvc0: use m2mf for resource_copy_region if formats are equalChristoph Bumiller2011-03-053-4/+75
| | | | | Which is always the case, but we'll keep the 2D engine blitter nonetheless.
* nv50,nvc0: fix texture layer issuesChristoph Bumiller2011-03-0510-65/+89
|
* i915g: Use tgsi_info from fragment shader insteadJakob Bornecrantz2011-03-051-4/+1
|
* i915g: use passthough shader for empty fragment programsDaniel Vetter2011-03-041-3/+15
| | | | | | | | | | The hw doesn't like it - demos/shadowtex is broken. The emitted shader isn't totally empty though, the depth write fixup gets emitted instead. Maybe that one is somewhat fishy, too? Idea for this patch from Jakob Bornecrantz. Signed-off-by: Daniel Vetter <[email protected]>
* r300g: preliminary implementation of clamping controlsMarek Olšák2011-03-044-22/+33
|
* r300g: implement FP16 alpha testMarek Olšák2011-03-044-8/+55
|
* r300g: implement blending for some of non-RGBA8 formatsMarek Olšák2011-03-042-7/+52
| | | | | | | | | | | | | | | | Blending is now fully supported with: - R8_UNORM - R8G8_UNORM - B8G8R8A8_UNORM - R16G16B16A16_FLOAT (r500-only) Blending is partially supported (DST_ALPHA not working) with: - L8A8_UNORM - I8_UNORM - B5G5R5A1_UNORM - B10G10R10A2_UNORM The other formats can't do blending.
* Merge remote branch 'origin/nvc0'Christoph Bumiller2011-03-0472-8212/+9070
|\
| * nv50: check grclass instead of chipset for 3D capsChristoph Bumiller2011-03-032-6/+4
| |
| * nv50: increase size of shader code boChristoph Bumiller2011-03-034-14/+23
| | | | | | | | 512 KiB should be quite enough, but dynamic resize might be nicer.