summaryrefslogtreecommitdiffstats
path: root/src/gallium/auxiliary/util
Commit message (Collapse)AuthorAgeFilesLines
* 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.
* st/mesa: remove unnecessary flushesMarek Olšák2011-03-111-2/+0
| | | | | | | The framebuffer cache flush should be implicit when calling set_framebuffer_state. There is no need to flush the command stream either.
* gallium/util: new polygon stipple utility helperBrian Paul2011-03-102-0/+490
| | | | | | | 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.
* 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
|
* gallium: add timeout parameter to fence_finishMarek Olšák2011-03-081-1/+2
| | | | | This is a follow-up to the ARB_sync patch for st/mesa and completes the ARB_sync implementation.
* gallium/util: add LATC supportMarek Olšák2011-03-086-4/+465
| | | | | | Again, a lot of code is shared with RGTC. The layout is UTIL_FORMAT_LAYOUT_RGTC, because LATC is just swizzled RGTC.
* gallium: add RGTC UNORM support to u_format.Dave Airlie2011-03-025-2/+574
| | | | | | | | SNORM needs a bit of work in the state tracker in order for mipmap generation to work I believe. I'm also not sure that having unorm fetches for an snorm format is sane.
* u_vbuf_mgr: compute user buffer size for instance data from instance_countMarek Olšák2011-03-011-3/+7
|
* st/mesa & v_bug_mgr: two small instanced drawing fixesChristian König2011-02-281-1/+4
|
* util: Don't destroy shaders null shadersJakob Bornecrantz2011-02-261-2/+4
| | | | Fixes regression from a08e612fd8e7ca2ac2fef8961e56e5b094033717
* util: Don't create array texture shaders if the driver doesn't support itJakob Bornecrantz2011-02-261-4/+6
|
* gallium/util: add 1d/2d mipmap generation supportDave Airlie2011-02-251-6/+37
| | | | | | | | so far only hw mipmap generation is testing on softpipe, passes test added to piglit. this requires another patch to mesa to let array textures mipmaps even start to happen.
* gallium/utils: Fix vertex element setupFabian Bieler2011-02-241-2/+3
| | | | Check if element was translated per element instead of per buffer.
* util: Make refcnt and symbol debuggers work on windowsJakob Bornecrantz2011-02-182-2/+21
| | | | Signed-off-by: Jakob Bornecrantz <jakob@vmware.com>
* u_vbuf_mgr: initialize flag indicating that buffers have been updatedMarek Olšák2011-02-181-1/+1
| | | | | This fixes r300g errors: r300: Cannot get a relocation in radeon_drm_cs_write_reloc.
* util: Fix typo in last commit.José Fonseca2011-02-171-1/+1
|
* util: Cleanup symbol name resolution on Windows.José Fonseca2011-02-172-39/+1310
| | | | | | - Support symbol name resolution on MinGW. - Use dbghelp.dll (which should allow 64bit support), but untested yet. - Cleanup.
* gallium/util: init key with memset()Brian Paul2011-02-161-1/+3
| | | | To silence missing initializers warning.
* Revert "util: fix DXT1 RGBA texture compression if the source color is (0, ↵Dave Airlie2011-02-161-14/+2
| | | | | | | | 0, 0, 0)" This reverts commit 6e7d782da506da233b2ac695b022ac393e1c719e. Oops, I just had this locally for testing and forgot to remove it before pushing.
* util: fix DXT1 RGBA texture compression if the source color is (0, 0, 0, 0)Marek Olšák2011-02-161-2/+14
| | | | | | | | | This is a workaround for a bug in libtxc_dxtn. Fixes: - piglit/GL_EXT_texture_compression_s3tc/fbo-generatemipmap-formats Signed-off-by: Dave Airlie <airlied@redhat.com>
* gallium: add usage parameter to pipe_buffer_createMarek Olšák2011-02-155-1/+8
| | | | | And set a reasonable buffer usage flag everywhere instead of just PIPE_USAGE_DEFAULT.
* gallium: notify drivers about possible changes in user buffer contentsMarek Olšák2011-02-143-6/+15
| | | | Also implement the redefine_user_buffer hook in the drivers.
* gallium: remove pipe_vertex_buffer::max_indexMarek Olšák2011-02-142-2/+0
| | | | | This is redundant to pipe_draw_info::max_index and doesn't really fit in the optimizations I plan.
* gallium: always save and restore vertex buffers using cso_cacheMarek Olšák2011-02-145-10/+23
|
* u_index_modify: map buffers with PIPE_TRANSFER_UNSYNCHRONIZEDMarek Olšák2011-02-141-3/+12
|
* u_vbuf_mgr: fix segfaultMarek Olšák2011-02-121-1/+1
| | | | | max_index could have been less than min_index, which later caused integer underflow followed by a segfault in memcpy.
* util: Define round and roundf on MSVC.José Fonseca2011-02-111-1/+13
|
* u_upload_mgr: Use PIPE_TRANSFER_FLUSH_EXPLICIT.José Fonseca2011-02-101-2/+9
| | | | This can avoid DMAing the whole buffer when just a fraction was changed.
* u_blitter: let the driver check whether there's a recursionMarek Olšák2011-02-102-6/+9
|
* u_vbuf_mgr: add a way to specify the BIND flag for the upload bufferMarek Olšák2011-02-082-1/+3
|
* u_vbuf_mgr: remove tabsMarek Olšák2011-02-081-18/+18
|
* u_vbuf_mgr: make the uploader publicMarek Olšák2011-02-082-17/+15
|
* util: import a new vertex buffer managerMarek Olšák2011-02-072-0/+719
| | | | | | | This code has originally matured in r300g and was ported to r600g several times. It was obvious it's a code duplication. See also comments in the header file.
* util: Change u_get_transfer_vtbl usage argument type to match prototype.Vinson Lee2011-02-031-1/+1
| | | | | | The type of u_get_transfer_vtbl of the usage argument in u_transfer.h is unsigned and not enum pipe_transfer_usage. This patch changes the type of usage to unsigned to match the prototype in the header file.
* util: Prevent transfer dangling pointer on map failure.José Fonseca2011-02-031-0/+1
|
* util: Call tables should be const.Henri Verbeet2011-01-301-1/+1
|
* u_blitter: use user buffers instead of real buffersMarek Olšák2011-01-291-21/+8
| | | | User buffers may be the fastest way to upload data.
* util: Fix leak of transfers in upload managerJakob Bornecrantz2011-01-281-0/+1
|
* util: fix parsing debug optionsMarek Olšák2011-01-271-19/+25
| | | | | | | So that 'foo' can be found in: OPTION=prefixfoosuffix,foo Also allow that debug options can be separated by a non-alphanumeric characters instead of just commas.
* r300g: fix some bugs with zbuffer compression (v4)Marek Olšák2011-01-273-40/+65
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* util: require debug options to be separated by commasMarek Olšák2011-01-261-1/+38
| | | | | | | | | Let's assume there are two options with names such that one is a substring of another. Previously, if we only specified the longer one as a debug option, the shorter one would be considered specified as well (because of strstr). This commit fixes it by checking that each option is surrounded by commas. (a regexp would be nicer, but this is not a performance critical code)
* u_blitter: remove bogus assertionMarek Olšák2011-01-251-3/+0
| | | | The module uses the 3D engine, so it can blit non-compatible formats.
* u_blitter: report recursion, update commentsMarek Olšák2011-01-251-1/+14
|
* util: Add function logger helpersJakob Bornecrantz2011-01-242-0/+72
|
* gallium/util: added pipe_put_tile_rgba_format()Brian Paul2011-01-222-1/+18
|
* gallium/util: simplify pipe_get_tile_rgba()Brian Paul2011-01-221-20/+1
| | | | Implement it in terms of pipe_get_tile_rgba_format()