summaryrefslogtreecommitdiffstats
path: root/src/gallium/auxiliary
Commit message (Collapse)AuthorAgeFilesLines
* r300g: implement hyper-z support. (v4)Dave Airlie2010-08-052-0/+46
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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 <[email protected]>, 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 <[email protected]>
* draw: Fix return type of draw_translate_vinfo_size.Vinson Lee2010-08-041-1/+1
| | | | Fixes typo from commit b609cfc7c9c38f26e7e6d6f7dd5dd6d38f4ed209.
* draw: Fix the edge flags of flatshade_first polygons.Chia-I Wu2010-08-041-4/+4
| | | | | | | This bug can be triggered by rendering polygons with glProvokingVertexEXT(GL_FIRST_VERTEX_CONVENTION_EXT); glPolygonMode(GL_FRONT_AND_BACK, GL_LINE);
* draw: check for instance divisors in vcache_check_run()Brian Paul2010-08-031-0/+22
| | | | | | | | | | 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.
* gallium/translate: make generic_run() and generic_run_elts() more alikeBrian Paul2010-08-031-19/+44
| | | | Plus more debug code and do clamping in generic_run().
* draw: added a commentBrian Paul2010-08-031-0/+1
|
* draw: use instance divisor in draw_print_arrays()Brian Paul2010-08-031-0/+5
|
* draw: add assertion, rearrange debug codeBrian Paul2010-08-031-4/+10
|
* gallium/draw: forgot about PIPE_PRIM_LINE_STRIP_ADJACENCYZack Rusin2010-08-031-0/+1
|
* gallium/util: add extra primitives to the trimmerZack Rusin2010-08-031-0/+13
|
* util: Fix unpacking of R8G8Bx_SNORM format.Michal Krol2010-08-021-3/+12
| | | | | Apparently, we must always use integers to perform calculations, otherwise the results won't match D3D's CxV8U8 definition.
* draw: fix warning in sse code.Dave Airlie2010-08-021-0/+1
| | | | Not sure if this will actually fix the issue, but it fixes the warning.
* draw: actually a noop, rather than not implementedZack Rusin2010-07-301-1/+4
| | | | we just have nothing to do in it right now
* tgsi: remove incorrect assertionBrian Paul2010-07-301-1/+0
|
* llvmpipe: Fix implicit declaration of lp_func_delete_body warnings.Vinson Lee2010-07-301-0/+1
|
* util: Fix the range of util_draw_elements_instanced.Chia-I Wu2010-07-301-2/+0
| | | | Keep min_index and max_index at their defaults (0 and ~0).
* llvmpipe: delete function bodies after generating machine codeZack Rusin2010-07-303-0/+12
|
* util: more helpers for old draw codeKeith Whitwell2010-07-302-25/+141
|
* draw: do bounds checking of array elements (debug only)Brian Paul2010-07-291-9/+26
| | | | | | | | | 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.
* draw: assorted clean-ups in clipper codeBrian Paul2010-07-291-20/+20
|
* gallium: implement bounds checking for constant buffersBrian Paul2010-07-2913-24/+110
| | | | | | 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.
* draw: add vertex buffer offset in draw_print_arrays()Brian Paul2010-07-291-0/+1
|
* gallivm: added lp_build_assert() function to make assertions in LLVM codeBrian Paul2010-07-294-0/+144
|
* Revert "gallivm: fix lp_build_sample_offset() crash when indexing a 1-D texture"José Fonseca2010-07-291-3/+0
| | | | | | This reverts commit 5f90e76c54bbf4456c977b3cbca450d7a570179e. Bad cherry-pick.
* gallivm: fix lp_build_sample_offset() crash when indexing a 1-D textureBrian Paul2010-07-291-0/+3
| | | | | If y==NULL and y_stride==NULL it means the texture is 1D. Return zero for out_i and the offset instead of garbage.
* util: add uint version of pack_z_stencilKeith Whitwell2010-07-291-0/+47
| | | | Useful for packing mask values.
* scons: Use the current python executable for code generation.José Fonseca2010-07-291-2/+2
| | | | Less susceptible to be broken.
* draw: Also emit EMMS on generated LLVM IR.José Fonseca2010-07-291-0/+11
|
* llvmpipe: Avoid corrupting the FPU stack with MMX instructions on 32bit OSes.José Fonseca2010-07-291-0/+24
| | | | | | | 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
* util: Don't include xmmintrin.h.José Fonseca2010-07-291-1/+0
| | | | Unnecessary.
* gallium: Use unified pipe_context::draw_vbo.Chia-I Wu2010-07-291-1/+1
| | | | Update u_draw_quad, st/vega, and st/mesa to use pipe_context::draw_vbo.
* gallium: Implement draw_vbo and set_index_buffer for all drivers.Chia-I Wu2010-07-291-0/+30
| | | | | | | | | | | | | | | 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.
* draw: Fix VMware spelling.Vinson Lee2010-07-283-3/+3
|
* gallivm: Add lp_build_select_bitwise() alternative to lp_build_select_bitwiseJosé Fonseca2010-07-272-22/+50
| | | | | | | | | | When (mask & a) | (~mask & b) is meant instead of mask ? a : b
* util: fix unused function warning on non-x86Brian Paul2010-07-261-0/+3
|
* util: fix CPU detection on OS Xnobled2010-07-261-6/+6
| | | | | | s/PIPE_OS_DARWIN/PIPE_OS_APPLE, since there is no PIPE_OS_DARWIN. Acked-by: Vinson Lee <[email protected]>
* util: fix another mutex leak in mempoolMarek Olšák2010-07-261-2/+1
| | | | By fixing one, I introduced another. Crap.
* util: fix mutex leaks in mempoolMarek Olšák2010-07-261-1/+2
|
* util: Add PIPE_OS_CYGWIN to u_network.Vinson Lee2010-07-231-1/+1
|
* draw: add small ybias factor for drawing wide pointsBrian Paul2010-07-231-0/+1
| | | | Fixes minor rasterization error detected by some tests.
* tgsi: Fix error message on invalid swizzle parseJakob Bornecrantz2010-07-221-1/+1
|
* draw: re-order optimization passes depending on LLVM version, 32/64-bitBrian Paul2010-07-221-2/+15
| | | | | This is a work-around for an apparent bug in LLVM seen with piglit's glsl-vs-sqrt-zero test.
* draw: added new assertions to clipping codeBrian Paul2010-07-221-1/+10
|
* draw: disable depth clipping if depth clamp is enabledMarek Olšák2010-07-213-4/+11
|
* cso: handle depth clampMarek Olšák2010-07-211-0/+4
|
* draw: tweak aa line width threshold and samplingBrian Paul2010-07-211-4/+6
| | | | | | Set sampler max_lod to avoid sampling the 1x1 and 2x2 mipmap levels. Fixes piglit line-aa-width test, fd.o bug 29160.
* gallivm: replace has_indirect_addressing field with indirect_files fieldBrian Paul2010-07-211-8/+17
| | | | | | | | | | 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.
* tgsi: added tgsi_shader_info::indirect_files fieldBrian Paul2010-07-212-0/+19
| | | | Indicates which register files are accessed with indirect addressing.
* gallivm: refactor code into get_indirect_offsets() functionBrian Paul2010-07-211-23/+34
|
* gallivm: added commentBrian Paul2010-07-211-0/+6
|