summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* mesa: use check_resources() to check program against limitsBrian Paul2011-03-111-0/+58
| | | | | | Without these checks we could create shaders with more samplers, constants than the driver could handle. Fail linking rather than dying later.
* mesa: replace NEED_SECONDARY_COLOR(), RGBA_LOGICOP_ENABLED() with inlinesBrian Paul2011-03-1121-59/+85
| | | | and rename them.
* mesa: call FLUSH_VERTICES() before deleting shaders, buffers, query objectsBrian Paul2011-03-113-0/+5
| | | | | | | | Need to flush rendering (or at least indicate that the rug might be getting pulled out from underneath us) when a shader, buffer object or query object is about to be deleted. Also, this helps to tell the VBO module to unmap its current vertex buffer.
* vega: remove unused pipe varBrian Paul2011-03-111-1/+0
|
* svga: Propagate discard/unsynchronized flags to the host when doing texture ↵José Fonseca2011-03-113-12/+38
| | | | DMAs.
* util: Fix typo in u_upload_flush().José Fonseca2011-03-111-2/+2
| | | | upload->offset is how much we used. upload->size is the whole buffer size.
* 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]>
* draw: remove unnecessary flushMarek Olšák2011-03-111-7/+0
|
* st/vega: remove unnecessary flushesMarek Olšák2011-03-113-14/+0
| | | | I don't see a reason we need them.
* st/mesa: remove unnecessary flushesMarek Olšák2011-03-112-5/+0
| | | | | | | The framebuffer cache flush should be implicit when calling set_framebuffer_state. There is no need to flush the command stream either.
* 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/util: new polygon stipple utility helperBrian Paul2011-03-104-0/+492
| | | | | | | The polygon stipple fallback does not have to be implemented in the draw module (it doesn't need window coords, etc). Drivers can use this utility and avoid sw vertex fallbacks if pstipple is enabled. Note: this is WIP and not used by any driver yet.
* glsl: silence warning in printf() with a castBrian Paul2011-03-101-1/+1
|
* glx: fix null pointer deref in __glXGenerateError()Brian Paul2011-03-101-5/+5
| | | | | | | | | | The gc var would be NULL if called from line 238. Instead, get the opcode from __glXSetupForCommand(dpy) as done in other places. And remove the unused gc parameter. Fixes a bug reported by "John Doe" on 3/9/2011. NOTE: This is a candidate for the 7.10 branch.
* 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]>
* r600: don't close fd on failed loadDave Airlie2011-03-101-3/+0
| | | | | | | This fd gets passed in from outside, closing it causes the X.org server to crap out when the driver doesn't identify the chipset. Signed-off-by: Dave Airlie <[email protected]>
* intel: Don't complain when getparam fails due to a missing param.Eric Anholt2011-03-091-1/+3
| | | | | This is an expected behavior when we're testing for the presence of new kernel features.
* i965: Pack the tracked state atoms into separate arrays for prepare/emit.Chris Wilson2011-03-092-42/+43
| | | | | | Improves performance of a hacked-up scissor-many (to reuse a small set of scissors instead of blowing out the cache, and then to run 100x more iterations so it actually took some time) by 3.6% +/- 1.2% (n=10)
* 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
|
* util: Use PIPE_TRANSFER_DISCARD_WHOLE_RESOURCE in pipe_buffer_write.José Fonseca2011-03-091-1/+6
|
* util: add ensure_sanity checks, fix a bugKeith Whitwell2011-03-091-2/+56
| | | | | Add ensure_sanity checks. Fix a bug which caused us to misplace entries adding to a full cache.
* util: improve cache collision behaviourKeith Whitwell2011-03-091-18/+76
| | | | | | | | | | Add linear probing on collisions. Expand entry array by a fixed scale (currently 2) to help avoid collisions. Use a LRU approach to ensure that the number of entries stored in the cache doesn't exceed the requested size.
* util: Add remove to util_cacheAlex Corscadden2011-03-092-0/+26
| | | | | I need to be able to remove entries from util_cache caches. This change enables that functionality.
* util: Allow util_draw_texquad to draw quads with non-integer coordinates.Alex Corscadden2011-03-091-2/+2
|
* wgl: Force framebuffer validation on glViewport.José Fonseca2011-03-091-1/+13
|
* 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]>
* scons: Fix immediate Python exceptions with SCons on SunOS.Vinson Lee2011-03-085-5/+5
| | | | The build still fails.
* st/python: Add timeout parameter to fence_finish.Vinson Lee2011-03-081-1/+1
| | | | | | This is a follow-up to commit b39bccbd4ed71e9585da4cf5acf7b887b2e90899. Fixes Linux SCons build.
* r300g: handle timeout parameter in fence_finishMarek Olšák2011-03-081-0/+17
|
* gallium: add timeout parameter to fence_finishMarek Olšák2011-03-0829-36/+71
| | | | | This is a follow-up to the ARB_sync patch for st/mesa and completes the ARB_sync implementation.
* st/mesa: implement ARB_syncMarek Olšák2011-03-086-0/+168
| | | | | | The ServerWaitSync implementation matches Intel's driver. The extension is advertised when pipe_screen::fence_finish is set.
* r300g: add LATC supportMarek Olšák2011-03-083-4/+22
|
* st/mesa: cleanup checking for signed compressed formats in generate_mipmapsMarek Olšák2011-03-081-8/+4
|
* st/mesa: add LATC and 3DC supportMarek Olšák2011-03-083-3/+76
| | | | softpipe passes all tests.
* gallium/util: add LATC supportMarek Olšák2011-03-089-4/+472
| | | | | | Again, a lot of code is shared with RGTC. The layout is UTIL_FORMAT_LAYOUT_RGTC, because LATC is just swizzled RGTC.
* mesa: add ATI_texture_compression_3dcMarek Olšák2011-03-087-0/+30
| | | | | | | LUMINANCE_ALPHA_LATC2 = LUMINANCE_ALPHA_3DC, so this is easy. Note that there is no specification for 3DC, just a few white papers from ATI.
* mesa: add EXT_texture_compression_latcMarek Olšák2011-03-0813-7/+234
| | | | | | | | | | | | | | | | | The encoding/decoding algorithms are shared with RGTC. Thanks to some magic with the base format, the RGTC texstore functions work for LATC too. swrast passes the related piglit tests besides two things: - The alpha channel is wrong (it's always 1), however the incorrect alpha channel makes some other tests fail too, so I guess it's unrelated to LATC. - Signed LATC fetches aren't correct yet (signed values are clamped to [0,1]), however RGTC has the same problem. Further testing (with other of my patches) shows that hardware drivers and softpipe work. BTW, ETQW uses this extension.
* st/mesa: Fix an incorrect user vertex buffer referenceThomas Hellstrom2011-03-081-4/+2
| | | | | | | | st->user_vb[attr] was always pointing to the same user vb, regardless of the value of attr. Together with reverting the temporary workaround for bug 34378, and a fix in the svga driver, this fixes googleearth on svga. Signed-off-by: Thomas Hellstrom <[email protected]>
* vbo: mark vertex arrays as dirty when re-bindingMarek Olšák2011-03-081-1/+12
| | | | | This fixes: https://bugs.freedesktop.org/show_bug.cgi?id=34378