summaryrefslogtreecommitdiff
path: root/src/gallium/auxiliary
AgeCommit message (Collapse)Author
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
2010-07-26util: fix CPU detection on OS Xnobled
s/PIPE_OS_DARWIN/PIPE_OS_APPLE, since there is no PIPE_OS_DARWIN. Acked-by: Vinson Lee <vlee@vmware.com>
2010-07-26util: fix another mutex leak in mempoolMarek Olšák
By fixing one, I introduced another. Crap.
2010-07-26util: fix mutex leaks in mempoolMarek Olšák
2010-07-23util: Add PIPE_OS_CYGWIN to u_network.Vinson Lee
2010-07-23draw: add small ybias factor for drawing wide pointsBrian Paul
Fixes minor rasterization error detected by some tests.
2010-07-22tgsi: Fix error message on invalid swizzle parseJakob Bornecrantz
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-21cso: handle depth clampMarek 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-21gallivm: replace has_indirect_addressing field with indirect_files fieldBrian Paul
Instead of one big boolean indicating indirect addressing, use a bitfield indicating which register files are accessed with indirect addressing. Most shaders that use indirect addressing only use it to access the constant buffer. So no need to use an array for temporary registers in this case.
2010-07-21tgsi: added tgsi_shader_info::indirect_files fieldBrian Paul
Indicates which register files are accessed with indirect addressing.
2010-07-21gallivm: refactor code into get_indirect_offsets() functionBrian Paul
2010-07-21gallivm: added commentBrian Paul