summaryrefslogtreecommitdiff
path: root/src/gallium/auxiliary
AgeCommit message (Collapse)Author
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-05tgsi: Fix typo, so we follow what is in the commentsJakob Bornecrantz
2010-08-05tgsi: Add option to stop the sanity checker from printingJakob Bornecrantz
2010-08-05util: Add option to not dump cpu capsJakob Bornecrantz
2010-08-05gallivm: Only get debug option onceJakob Bornecrantz
2010-08-05r300g: implement hyper-z support. (v4)Dave Airlie
This implements fast Z clear, Z compression, and HiZ support for r300->r500 GPUs. It also allows cbzb clears when fast Z clears are being used for the ZB. It requires a kernel with hyper-z support. Thanks to Marek Olšák <maraeo@gmail.com>, who started this off, and Alex Deucher at AMD for providing lots of hints. v2: squashed zmask ram size fix] squashed r300g/blitter: fix Z readback when compressed] v3: rebase around texture changes in master - .1 fix more bits v4: migrated to using u_mm in r300_texture to manage hiz/zmask rams consistently disabled HiZ when using OQ flush z-cache before turning hyper-z off update hyper-z state on dsa state change store depthclearvalue across cbzb clears and replace it afterwards. Signed-off-by: Dave Airlie <airlied@redhat.com>
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-03gallium/translate: make generic_run() and generic_run_elts() more alikeBrian Paul
Plus more debug code and do clamping in generic_run().
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-03gallium/draw: forgot about PIPE_PRIM_LINE_STRIP_ADJACENCYZack Rusin
2010-08-03gallium/util: add extra primitives to the trimmerZack Rusin
2010-08-02util: Fix unpacking of R8G8Bx_SNORM format.Michal Krol
Apparently, we must always use integers to perform calculations, otherwise the results won't match D3D's CxV8U8 definition.
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-30tgsi: remove incorrect assertionBrian Paul
2010-07-30llvmpipe: Fix implicit declaration of lp_func_delete_body warnings.Vinson Lee
2010-07-30util: Fix the range of util_draw_elements_instanced.Chia-I Wu
Keep min_index and max_index at their defaults (0 and ~0).
2010-07-30llvmpipe: delete function bodies after generating machine codeZack Rusin
2010-07-30util: more helpers for old draw codeKeith Whitwell
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-29gallivm: added lp_build_assert() function to make assertions in LLVM codeBrian Paul
2010-07-29Revert "gallivm: fix lp_build_sample_offset() crash when indexing a 1-D texture"José Fonseca
This reverts commit 5f90e76c54bbf4456c977b3cbca450d7a570179e. Bad cherry-pick.
2010-07-29gallivm: fix lp_build_sample_offset() crash when indexing a 1-D textureBrian Paul
If y==NULL and y_stride==NULL it means the texture is 1D. Return zero for out_i and the offset instead of garbage.
2010-07-29util: add uint version of pack_z_stencilKeith Whitwell
Useful for packing mask values.
2010-07-29scons: Use the current python executable for code generation.José Fonseca
Less susceptible to be broken.
2010-07-29draw: Also emit EMMS on generated LLVM IR.José Fonseca
2010-07-29llvmpipe: Avoid corrupting the FPU stack with MMX instructions on 32bit OSes.José Fonseca
Unfortunately LLVM doesn't emit EMMS itself, and there is no easy/effective way to disable MMX. http://llvm.org/bugs/show_bug.cgi?id=3287
2010-07-29util: Don't include xmmintrin.h.José Fonseca
Unnecessary.
2010-07-29gallium: Use unified pipe_context::draw_vbo.Chia-I Wu
Update u_draw_quad, st/vega, and st/mesa to use pipe_context::draw_vbo.
2010-07-29gallium: Implement draw_vbo and set_index_buffer for all drivers.Chia-I Wu
Some drivers define a generic function that is called by all drawing functions. To implement draw_vbo for such drivers, either draw_vbo calls the generic function or the prototype of the generic function is changed to match draw_vbo. Other drivers have no such generic function. draw_vbo is implemented by calling either draw_arrays and draw_elements. For most drivers, set_index_buffer does not mark the state dirty for tracking. Instead, the index buffer state is emitted whenever draw_vbo is called, just like the case with draw_elements. It surely can be improved.
2010-07-28draw: Fix VMware spelling.Vinson Lee
2010-07-27gallivm: Add lp_build_select_bitwise() alternative to lp_build_select_bitwiseJosé Fonseca
When (mask & a) | (~mask & b) is meant instead of mask ? a : b
2010-07-26util: fix unused function warning on non-x86Brian Paul