summaryrefslogtreecommitdiff
path: root/src/gallium/auxiliary/draw
AgeCommit message (Collapse)Author
2010-08-16drwa: Fix polygon edge flags.Chia-I Wu
Fix a copy-and-paste error introduced by f141abdc8fdbff41e16b0ce53fa3fa8fba32a7f9.
2010-08-16draw: No need to make max_vertices even.Chia-I Wu
Triangle strip alternates the front/back orientation of its triangles. max_vertices was made even so that varray never splitted a triangle strip at the wrong positions. It did not work with triangle strips with adjacencies. And it is no longer relevant with vsplit.
2010-08-16draw: Remove DRAW_PIPE_MAX_VERTICES and DRAW_PIPE_FLAG_MASK.Chia-I Wu
The higher bits of draw elements are no longer used for the stipple or edge flags.
2010-08-16drwa: Add PRIMITIVE macro to vsplit.Chia-I Wu
PRIMITIVE is used by the indexed path to flush the entire primitive with custom vertex count checks. It replaces the existing fast path.
2010-08-16draw: last_vertex_last is always true for GS and SO.Chia-I Wu
That is, OpenGL decomposition rule is assumed. There should be a pipe_context state to specify the rules.
2010-08-16draw: Remove varray and vcache.Chia-I Wu
They have been deprecated by vsplit.
2010-08-16draw: Replace vcache by vsplit.Chia-I Wu
vcache decomposes primitives while vsplit splits primitives. Splitting is generally easier to do and is faster. More importantly, vcache depends on flatshade_first to decompose. The outputs may have incorrect vertex order which is significant to GS.
2010-08-16draw: Replace varray by vsplit.Chia-I Wu
vsplit is a superset of varray. It sets the split flags comparing to varray.
2010-08-16draw: Add vsplit frontend.Chia-I Wu
vsplit is based on varray. It sets the split flags when a primitive is splitted. It also has support for indexed primitives. For indexed primitives, unlike vcache, vsplit splits the primitives instead of decomposes them.
2010-08-16draw: Add new util function draw_pt_trim_count.Chia-I Wu
draw_pt_trim_count is renamed from trim in draw_pt.c.
2010-08-16draw: Simplify frontend interface a little.Chia-I Wu
The run method is simplified to take the start vertex and the vertex count.
2010-08-16draw: Add prim flags to middle ends.Chia-I Wu
Update the middle end interface to pass the primitive flags from the frontends to the pipeline. No frontend sets the flags yet.
2010-08-16draw: Add flags to draw_prim_info.Chia-I Wu
A primitive may be splitted in frontends. The splitted primitives should convey certain flag bits so that the decomposer can correctly decide the stipple or edge flags. This commit adds flags to draw_prim_info and updates the decomposer to honor the flags. Frontends and middle ends will be updated later.
2010-08-08draw: Remove unused variable.José Fonseca
2010-08-08draw: Use the correct type for integersnobled
Two integers were being operated on as a vector of floats in draw_llvm_generate(). This bug got uncovered by fixing this bug: http://bugs.freedesktop.org/29407
2010-08-07draw: Add an assertion to varray's version of trim().Chia-I Wu
Assert that "first" is always smaller than "count" and add reasoning. It would be better to simply fix trim(), but it is used in tight loops right now.
2010-08-07draw: Fix draw_pt_split_prim for primitives with adjacency.Chia-I Wu
Some primitives with adjacency have their "incr" wrong.
2010-08-07draw: Assert that only the first vetex may have flags set.Chia-I Wu
642d5ba79abc6a231a5fdabb3454b9b082b0d7f8 removed flags masking for vertices other than the first one. Add assertions to be on the safe side.
2010-08-06draw: Avoid mixed declarations and code.Chia-I Wu
Do not expand LOCAL_VARS to void expression. Otherwise, declarations and code will be mixed when more variables are declared in FUNC_ENTER. This fixes fdo bug #29416.
2010-08-06draw: Remove unnecessary vertex flag ANDs.Chia-I Wu
Vertex flags are a contract between vcache and the pipeline. They are set only for the first vertex of a primitive.
2010-08-06draw: Mask out vertex flags in GS and stream output.Chia-I Wu
This fixes out-of-bound access to the vertices.
2010-08-06draw: Include draw_decompose_tmp.h in draw_pt_decompose.h.Chia-I Wu
Use draw_decompose_tmp.h to replace pipeline primitive decomposer.
2010-08-06draw: Include draw_decompose_tmp.h in draw_so_emit_tmp.h.Chia-I Wu
Use draw_decompose_tmp.h to replace stream out primitive decomposer.
2010-08-06draw: Include draw_decompose_tmp.h in draw_gs_tmp.h.Chia-I Wu
Use draw_decompose_tmp.h to replace GS primitive decomposer.
2010-08-06draw: Include draw_decompose_tmp.h in draw_pt_vcache_tmp.h.Chia-I Wu
Use draw_decompose_tmp.h to replace vcache primitive decomposer. As the new decomposer supports primitives with adjacency, vcache_triangle_adj and vcache_line_adj (and their variants that have flags) are added.
2010-08-06draw: Add draw_decompose_tmp.h.Chia-I Wu
Including draw_decompose_tmp.h defines a primitive decomposer. It is intended to replace the existing vcache/so/gs/pipe decomposers. This is based on draw_pt_vcache_tmp.h.
2010-08-04draw: Fix return type of draw_translate_vinfo_size.Vinson Lee
Fixes typo from commit b609cfc7c9c38f26e7e6d6f7dd5dd6d38f4ed209.
2010-08-04draw: Fix the edge flags of flatshade_first polygons.Chia-I Wu
This bug can be triggered by rendering polygons with glProvokingVertexEXT(GL_FIRST_VERTEX_CONVENTION_EXT); glPolygonMode(GL_FRONT_AND_BACK, GL_LINE);
2010-08-03draw: check for instance divisors in vcache_check_run()Brian Paul
When we have instance divisors we don't really know which vertex elements we'll be fetching ahead of time. This fixes a bug in instanced drawing which was exposed by the new draw_vbo() code because of max_index not being ~0 as often as it used to be. The test for max_index >= DRAW_PIPE_MAX_VERTICES often hid this problem before.
2010-08-03draw: added a commentBrian Paul
2010-08-03draw: use instance divisor in draw_print_arrays()Brian Paul
2010-08-03draw: add assertion, rearrange debug codeBrian Paul
2010-08-02draw: fix warning in sse code.Dave Airlie
Not sure if this will actually fix the issue, but it fixes the warning.
2010-07-30draw: actually a noop, rather than not implementedZack Rusin
we just have nothing to do in it right now
2010-07-30llvmpipe: Fix implicit declaration of lp_func_delete_body warnings.Vinson Lee
2010-07-30llvmpipe: delete function bodies after generating machine codeZack Rusin
2010-07-29draw: do bounds checking of array elements (debug only)Brian Paul
Make sure that all the element indexes actually lie inside the vertex buffer. Also, rename pipe_run() to pipe_run_elts() to be more specific. And assert/check the vertex count for the non-indexed case.
2010-07-29draw: assorted clean-ups in clipper codeBrian Paul
2010-07-29gallium: implement bounds checking for constant buffersBrian Paul
Plumb the constant buffer sizes down into the tgsi interpreter where we can do bounds checking. Optional debug code warns upon out-of-bounds reading. Plus add a few other assertions in the TGSI interpreter.
2010-07-29draw: add vertex buffer offset in draw_print_arrays()Brian Paul
2010-07-29draw: Also emit EMMS on generated LLVM IR.José Fonseca
2010-07-28draw: Fix VMware spelling.Vinson Lee
2010-07-23draw: add small ybias factor for drawing wide pointsBrian Paul
Fixes minor rasterization error detected by some tests.
2010-07-22draw: re-order optimization passes depending on LLVM version, 32/64-bitBrian Paul
This is a work-around for an apparent bug in LLVM seen with piglit's glsl-vs-sqrt-zero test.
2010-07-22draw: added new assertions to clipping codeBrian Paul
2010-07-21draw: disable depth clipping if depth clamp is enabledMarek Olšák
2010-07-21draw: tweak aa line width threshold and samplingBrian Paul
Set sampler max_lod to avoid sampling the 1x1 and 2x2 mipmap levels. Fixes piglit line-aa-width test, fd.o bug 29160.
2010-07-21draw: whitespace clean-upBrian Paul
2010-07-20draw: correctly handle max_index=0xffffffff case in vcache codeBrian Paul
If max_index=0xffffffff and elt_bias > 0 the test for elt_bias + max_index >= DRAW_PIPE_MAX_VERTICES was wrong. Check earlier if max_index=0xffffffff and do the "fail" case. This fixes the piglit draw-elements-base-vertex test (and probably some other things).
2010-07-19draw: fix incorrect instancing divisor in LLVM codeBrian Paul