Age | Commit message (Collapse) | Author |
|
|
|
|
|
I swear this didn't work last time I tried it.. Anyhow, still only
suitable for 2D miptrees - more coming once I know the layout.
|
|
|
|
|
|
Still many more horrible things to fix here...
|
|
Put setup.v{min,mid,max,provoke} into a union with qword vertex_headers.
Rewrite vertex sorting to more efficiently handle the packed data items.
Reduces spu_tri.o by ~128 bytes.
|
|
Put edge.{dx,dy} into a union with a vector and perform subtractions in
setup_sort_vertices() on vectors.
Reduces spu_tri.o by ~300 bytes.
|
|
Replace int setup.span{left,right}[2] with vec_uint4 setup.span.quad
SIMDize calculate_mask() and inline into into flush_spans()
Set setup.span.quad members using spu_shuffle() or spu_sel().
Reduces spu_tri.o by ~116 bytes.
|
|
Facilitates creation of shuffle patterns for use with spu_shuffle()
and si_shufb() intrinsics.
To be used by subsequent patches.
|
|
Basic for/while loops work now.
Only one level of loop nesting is supported at this time (same for if/else).
The progs/glsl/mandelbrot demo works, but the colors are too dim.
|
|
We don't really support this texwrap mode yet, but this enables GL 2.1
|
|
Start on ARL and address-relative indexing too.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Not really an error, as we only care for the lower 4 bits.
|
|
|
|
As advised by gcc -pedantic.
|
|
|
|
INLINE is commonly used in third-party headers.
|
|
|
|
|
|
This is sometimes checked to distinguish between texture views and
(deprecated) standalone surfaces.
|
|
Otherwise blitting from display target surfaces to front screen fails in
several platforms.
|
|
Conflicts:
src/gallium/auxiliary/util/Makefile
|
|
|
|
|
|
|
|
|
|
|
|
Unfinished, a big no-op for now.
|
|
This is copied from Ian's commit a330933bb75c38148668637cd22b90d75d39506f
|
|
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
|
|
|
|
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.
|
|
Need to disable/bypass lambda calculation since derivatives of texcoords
are meaningless for adjacent vertices.
|
|
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.
|