Age | Commit message (Collapse) | Author |
|
|
|
Only st/xorg used it and even incorrectly with regards to pipelined transfers.
|
|
upload->offset is how much we used. upload->size is the whole buffer size.
|
|
The framebuffer cache flush should be implicit when calling
set_framebuffer_state.
There is no need to flush the command stream either.
|
|
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.
|
|
|
|
Add ensure_sanity checks.
Fix a bug which caused us to misplace entries adding to a full cache.
|
|
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.
|
|
I need to be able to remove entries from util_cache caches. This change
enables that functionality.
|
|
|
|
This is a follow-up to the ARB_sync patch for st/mesa and completes
the ARB_sync implementation.
|
|
Again, a lot of code is shared with RGTC.
The layout is UTIL_FORMAT_LAYOUT_RGTC, because LATC is just swizzled RGTC.
|
|
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.
|
|
|
|
|
|
Fixes regression from a08e612fd8e7ca2ac2fef8961e56e5b094033717
|
|
|
|
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.
|
|
Check if element was translated per element instead of per buffer.
|
|
Signed-off-by: Jakob Bornecrantz <jakob@vmware.com>
|
|
This fixes r300g errors:
r300: Cannot get a relocation in radeon_drm_cs_write_reloc.
|
|
|
|
- Support symbol name resolution on MinGW.
- Use dbghelp.dll (which should allow 64bit support), but untested yet.
- Cleanup.
|
|
To silence missing initializers warning.
|
|
0, 0, 0)"
This reverts commit 6e7d782da506da233b2ac695b022ac393e1c719e.
Oops, I just had this locally for testing and forgot to remove it before pushing.
|
|
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>
|
|
And set a reasonable buffer usage flag everywhere instead of
just PIPE_USAGE_DEFAULT.
|
|
Also implement the redefine_user_buffer hook in the drivers.
|
|
This is redundant to pipe_draw_info::max_index and doesn't really fit
in the optimizations I plan.
|
|
|
|
|
|
max_index could have been less than min_index, which later caused integer
underflow followed by a segfault in memcpy.
|
|
|
|
This can avoid DMAing the whole buffer when just a fraction was changed.
|
|
|
|
|
|
|
|
|
|
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.
|
|
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.
|
|
|
|
|
|
User buffers may be the fastest way to upload data.
|
|
|
|
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.
|
|
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.
|
|
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)
|
|
The module uses the 3D engine, so it can blit non-compatible formats.
|
|
|
|
|