Age | Commit message (Collapse) | Author |
|
|
|
Fixed size hash table. Collisions are handled by simply destroying the
previous entry.
It hasn't received much testing yet.
|
|
|
|
|
|
The following construction in util_surface_copy() in
gallium/auxiliary/util/u_rect.c, introduced in commit
d177c9ddda2c452cf7d6696d89cf4458ef986f98, incorrectly inverts
the Y coordinate in the last parameter to pipe_copy_rect().
/* If do_flip, invert src_y position and pass negative src stride
*/
pipe_copy_rect(dst_map,
&dst->block,
dst->stride,
dst_x, dst_y,
w, h,
src_map,
do_flip ? -(int) src->stride : src->stride,
src_x,
do_flip ? w - src_y : src_y);
The intention is to start at the last Y coordinate line and move
backwards, in the case of a flip; in that case, the correct
calculation is "src_y + h - 1", not "w - src_y".
This fixes a Gallium assertion failure in the conformance tests:
u_rect.c:65:pipe_copy_rect: Assertion `src_y >= 0' failed.
debug_get_bool_option: GALLIUM_ABORT_ON_ASSERT = TRUE
Trace/breakpoint trap
|
|
|
|
Remove the old/initial vbuf allocation in util_create_gen_mipmap().
We were allocating a small vbuf at this point so get_next_slot() didn't have
as large of buffer as it expected. So all but the first set_vertex_data()
was writing out of bounds.
Also added some comments.
|
|
|
|
Quite a few util modules were maintaining a single vertex buffer over multiple
frames, and potentially reusing it in subsequent frames. Unfortunately that
would force us into syncrhonous rendering as the buffer manager would be
forced to wait for the previous rendering to complete prior to allowing the
map.
This resolves that issue, but requires the state tracker to issue a few new
flush() calls at the end of each frame.
|
|
This reverts commit a6d866f72c88d48d2bcfb3e3c882fdb639b5a8ce.
|
|
This reverts commit 17849eafaacfbb2124d86f561a91b707317d3b31.
|
|
This reverts commit 55839ae064d64b7fcc180fcddb364bf31ab760dc.
|
|
|
|
The Minimum Resolvable Depth factor depends on the driver and can't just
be computed from the number of Z buffer bits.
Glean's polygon offset test now passes with softpipe.
Still need to determine the MRD factor for other gallium drivers, if they use
the draw module's polygon offset stage...
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This reverts commit 685fd2c035e284db2447ede0f6da278adaa70a0d.
Does not compile since emit_rnd() is trying to pass 4 params to
emit_func_call_dst() which takes 3 params.
|
|
|
|
|
|
|
|
A variation of malloc buffers which get transferred to real graphics memory
when there is an attempt to validate them.
|
|
|
|
|
|
|
|
Ensure that the object has consistent state also when calling the destroy
callback. Namely, ensure the object passed to the callback is removed from
the table prior to calling the destroy callback to avoid a infinite loop or
double free.
|
|
The various conformance tests pass now.
|
|
|
|
|
|
|
|
|
|
|
|
Never saw the [a,b[ notation before.
|
|
|
|
|
|
- Use a lookup table for log2.
- Compute (float) (1 << ipart) by tweaking with the exponent directly to
avoid integer overflow and float conversion.
- Also table negative exponents to avoid float division and branching.
- Implement util_fast_exp as function of util_fast_exp2.
--------
Cherry-picked from gallium-0.2: 8415d06d90a197e16554dab98d160334fd9f9f93
This fixes some pow() glitches seen in fslight.c, spectex.c, etc.
Conflicts:
src/gallium/auxiliary/util/u_math.h
|
|
|
|
|
|
|
|
Zero-out the index for disabled execution channels to avoid using potential
garbage values (thus avoiding bad array indexing).
|
|
Fixes progs/vp/arl.txt test.
|
|
This prevents vertex shaders from referencing invalid memory locations when
the shader is operating on less than four vertices or fragments.
|
|
|
|
|
|
|