summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/llvmpipe
AgeCommit message (Collapse)Author
2010-08-25llvmpipe: remove dead codeKeith Whitwell
2010-08-25gallium: Use draw_set_index_buffer and others.Chia-I Wu
Update all drivers to use draw_set_index_buffer, draw_set_mapped_index_buffer, and draw_vbo. Remove draw_set_mapped_element_buffer and draw_set_mapped_element_buffer_range.
2010-08-22llvmpipe: reduce size of fragment shader variant keyKeith Whitwell
Don't spend as much time comparing them.
2010-08-22llvmpipe: remove unused member from lp_fragment_shader_variant_keyKeith Whitwell
2010-08-22llvmpipe: don't clear unused binsKeith Whitwell
If bins outside the current scene bounds are being corrupted, we'll need to fix that separately. Currently seems ok though.
2010-08-20gallium: make all checks for PIPE_TEXTURE_2D check for PIPE_TEXTURE_RECT tooLuca Barbieri
Searched for them with: git grep -E '[!=]=.*PIPE_TEXTURE_2D|PIPE_TEXTURE_2D.*[!=]=|case.*PIPE_TEXTURE_2D' Behavior hasn't been changed.
2010-08-15llvmpipe: special case triangles which fall in a single 16x16 blockKeith Whitwell
Check for these and route them to a dedicated handler with one fewer levels of recursive rasterization.
2010-08-15llvmpipe: consolidate several loops in lp_rast_triangleKeith Whitwell
2010-08-15llvmpipe: remove all traces of step arrays, pos_tablesKeith Whitwell
No need to calculate these values any longer, nor to store them in the bin data. Improves isosurf a bit more, 115->123 fps.
2010-08-15llvmpipe: eliminate last usage of step array in rast_tmp.hKeith Whitwell
For 16 and 64 pixel levels, calculate a mask which is linear in x and y (ie not in the swizzle layout). When iterating over full and partial masks, figure out position by manipulating the bit number set in the mask, rather than relying on postion arrays. Similarly, calculate the lower-level c values from dcdx, dcdy and the position rather than relying on the step array.
2010-08-15llvmpipe: don't refer to plane->step when dcdx or dcdy would doKeith Whitwell
2010-08-15llvmpipe: also use build_mask at 16, 64 pixel levelsKeith Whitwell
2010-08-15llvmpipe: version of block4 which doesn't need the full step arrayKeith Whitwell
No noticable slowdown with isosurf.
2010-08-15llvmpipe: reorganize block4 loop, nice speedupKeith Whitwell
isosurf 95->115 fps just by exchanging the two inner loops in this function...
2010-08-11llvmpipe: Debug code to dump interpolation coefficients.José Fonseca
2010-08-11llvmpipe: Use single precision divide for one over area computation.José Fonseca
2010-08-10llvmpipe: Always use floating-point operators for floating-point typesnobled
See: http://bugs.freedesktop.org/29404 http://bugs.freedesktop.org/29407 Signed-off-by: José Fonseca <jfonseca@vmware.com>
2010-08-09util: Move _mm_shuffle_epi8() to u_sse.h.José Fonseca
It's bound to be useful elsewhere.
2010-08-06gallium: remove stray semicolonsBrian Paul
2010-08-05llvmpipe: Only get no rast option onceJakob Bornecrantz
2010-07-30llvmpipe: Silence unused value warning.Vinson Lee
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-29llvmpipe: fix on-debug build breakageBrian Paul
2010-07-29llvmpipe: added some jit debug codeBrian Paul
If we crash in the jitted function we can examine jit_line and jit_state in gdb to learn more about the shader.
2010-07-29llvmpipe: silence warnings in lp_test_sincos.cBrian Paul
2010-07-29llvmpipe: also test the new lp_build_assert() functionBrian Paul
2010-07-29llvmpipe: don't call LLVMCreateJITCompiler() twiceBrian Paul
Fixes a failed assertion with LLVM 2.6: <unnamed>::JITResolver::JITResolver(llvm::JIT&): Assertion `TheJITResolver == 0&& "Multiple JIT resolvers?"' failed. Though, not everyone seems to experience this problem.
2010-07-29scons: Use the current python executable for code generation.José Fonseca
Less susceptible to be broken.
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-29gallium: Avoid void pointer arithmetic.Chia-I Wu
This fixes fdo bug #29286.
2010-07-29gallium: Keep only pipe_context::draw_vbo.Chia-I Wu
That is, remove pipe_context::draw_arrays, pipe_context::draw_elements, pipe_context::draw_arrays_instanced, pipe_context::draw_elements_instanced, pipe_context::draw_range_elements.
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-27llvmpipe: pass face+slice to llvmpipe_unswizzle_cbuf_tile()Brian Paul
Cube map faces and 3D texture slices are treated the same in llvmpipe textures. Need to pass the sum of these fields to llvmpipe_unswizzle_cbuf_tile() as we do elsewhere. Fixes piglit fbo-3d test (fd.o bug 29135).
2010-07-27llvmpipe: Use lp_build_select_bitwise() where appropriate.José Fonseca
Fixes fdo 29269.
2010-07-22llvmpipe: Partially fix resource texture from_handleJakob Bornecrantz
2010-07-22llvmpipe: Don't align values already alignedJakob Bornecrantz
2010-07-21llvmpipe: say no to depth clampMarek Olšák
The other drivers just return 0 without the assert.
2010-07-18llvmpipe: Remove dead initialization.Vinson Lee
2010-07-17llvmpipe: Remove unused variable in lp_test_sincos.Vinson Lee
2010-07-16llvmpipe: use single swizzled tileKeith Whitwell
Use a single swizzled tile per colorbuf (and per thread) to avoid accumulating large amounts of cached swizzled data. Now that the SSE3 code has been merged to master, the performance delta of this change is minimal, the main benefit is reduced memory usage due to no longer keeping swizzled copies of render targets. It's clear from the performance of the in-place version of this code that there is still quite a bit of time being spent swizzling & unswizzling, but it's not clear exactly how to reduce that.
2010-07-16llvmpipe: Describe _mm_shuffle_epi8() with gcc extended inline assembly when ↵José Fonseca
-mssse3 is not supported/enabled.
2010-07-16llvmpipe: Only use -mssse3 on gcc 4.3+José Fonseca
2010-07-15llvmpipe: implement instanced drawing functionsBrian Paul
And express all the other drawing functions in terms of llvmpipe_draw_range_elements_instanced().
2010-07-15llvmpipe: Remove redundant statement.José Fonseca
Thanks to Vinson for spotting this.
2010-07-14llvmpipe: delete lp_test_*.o files with make cleanBrian Paul
2010-07-14llvmpipe: Remove redundant alignments.José Fonseca
The lp_rast_shader_inputs' alignment is irrelevant now that it contains pointers instead of actual data. Likewise, lp_rast_triangle's size alignment is meaningless.
2010-07-14llvmpipe: Addi ssse3 swizzling for B8G8R8A8_UNORM.Chris Li
2010-07-13llvmpipe: fix comment typoRoland Scheidegger
2010-07-13llvmpipe: move rasterizer to screen instead of setup contextRoland Scheidegger
there's no point of having this per context, so move to screen (and protect with a mutex).