summaryrefslogtreecommitdiff
path: root/src/gallium/auxiliary/draw/draw_llvm.h
AgeCommit message (Collapse)Author
2011-02-14gallium: remove pipe_vertex_buffer::max_indexMarek Olšák
This is redundant to pipe_draw_info::max_index and doesn't really fit in the optimizations I plan.
2010-12-09draw/llvm: remove redundant commentBrian Paul
2010-11-30gallivm/llvmpipe: squash merge of the llvm-context branchBrian Paul
This branch defines a gallivm_state structure which contains the LLVMBuilderRef, LLVMContextRef, etc. All data structures built with this object can be periodically freed during a "garbage collection" operation. The gallivm_state object has to be passed to most of the builder functions where LLVMBuilderRef used to be used. Conflicts: src/gallium/auxiliary/gallivm/lp_bld_tgsi_soa.c src/gallium/drivers/llvmpipe/lp_state_setup.c
2010-10-19draw: make sure viewport gets updated in draw llvm shaderKeith Whitwell
The viewport state was being baked in at compile time (oops...)
2010-10-19Merge branch 'llvm-cliptest-viewport'Keith Whitwell
2010-10-17llvmpipe: clean up fields in draw_llvm_variant_keyKeith Whitwell
2010-10-14draw: sanitize llvm variant keyHui Qi Tay
Fixes recompilation, but seems to be broken with llvm 2.8.
2010-10-12draw/llvmpipe: replace DRAW_MAX_TEXTURE_LEVELS with PIPE_MAX_TEXTURE_LEVELSBrian Paul
There's no apparent reason for the former to exist. And they didn't even have the same value.
2010-10-10draw: some changes to allow for runtime changes to userclip planesdelphi
2010-10-04draw: added userclip planes and updated variant_keydelphi
2010-09-29draw: pass sampler state down to llvm jit stateBrian Paul
Fixes a regression caused from the change to make min/max lod dynamic state. https://bugs.freedesktop.org/show_bug.cgi?id=30437
2010-09-29draw: added viewport and cliptest flagsHui Qi Tay
Corrections in store_clip to store clip coordinates in AoS form. Viewport & cliptest flag options based on variant key. Put back draw_pt_post_vs and now 2 paths based on whether clipping occurs or not.
2010-09-29draw: cliptest and viewport done in a single loop in vertex shaderHui Qi Tay
Cliptesting now done at the end of vs in draw_llvm instead of draw_pt_post_vs. Added viewport mapping transformation and further cliptesting to vertex shader in draw_llvm.c Alternative path where vertex header setup, clip coordinates store, cliptesting and viewport mapping are done earlier in the vertex shader. Still need to hook this up properly according to the return value of "draw_llvm_shader" function.
2010-09-25draw: Fullfil the new min_lod/max_lod/lod_bias/border_color dynamic stateJosé Fonseca
2010-08-22draw: reduce the size of the llvm variant keyKeith Whitwell
2010-07-16draw/llvm: adjust the instance id at run timeZack Rusin
fixes instancing in draw llvm
2010-07-06draw: implement vertex texture sampling using llvmZack Rusin
2010-06-29draw: Add inline keyword to inline function.José Fonseca
Otherwise gcc will warn about unusued functions.
2010-06-25draw: limit the number of vertex shader variants kept aroundZack Rusin
we used to create and cache unltimited number of variant, this change limits the number of variants kept around to a fixed number. the change is based on a similar patch by Roland for llvmpipe fragment shaders.
2010-04-26draw/llvm: implement fetch elts pathsZack Rusin
we were only running the llvm paths when the input elts were linear, now we can handle abritrary fetch elts arrays. we do this by generating two paths - linear and fetch_elts one and just selecting the right one at run time.
2010-04-25draw: Respect pipe_vertex_buffer::max_index in llvm generated code.José Fonseca
Everybody should respect max_index, specially llvm generated code, which likes to eat vertices 4 at a time, so it may end up chew a bit a bit more than actually exists.
2010-04-11scons: Make LLVM a black-white dependency.José Fonseca
Now that draw depends on llvm it is very difficult to correctly handle broken llvm installations. Either the user requests LLVM and it needs to supply a working installation. Or it doesn't, and it gets no LLVM accelerate pipe drivers.
2010-04-07draw llvm: highly reduce the compilation times for draw llvmZack Rusin
our code resets pipe_vertex_buffer's with different offsets when rendering vbo, meaning that we kept creating insane number of shaders even for simple apps e.g. geartrain had 54 shaders and it was taking almost 27 seconds just to compile them. this patch passes pipe_vertex_buffer's to the jit function and lets it to the stride/buffer_offset computation at run time. the slowdown at runtime is largely unnoticable but the we go from 54 shaders to 3, and from 27 seconds to less than 1.
2010-04-06draw llvm: implement simple pipeline caching using variantsZack Rusin
2010-04-02draw llvm: fix storing of outputs for the rest of the pipelineZack Rusin
there's no good way of aligning the output's, and since the vertex_header is variable sized in the first place we need to extract elements from a vector and store them individually into an array. this gets the basic examples working again
2010-04-01draw llvm: a lot better storing implementationZack Rusin
2010-03-30draw llvm: various fixes for the translation codeZack Rusin
the from translation isn't quite right yet
2010-03-29draw llvmpipe: lots of fixes for fetch/emitZack Rusin
the values passed are still not right, but the general scheme is looking good.
2010-02-22gallium/draw: initial code to properly support llvm in the draw moduleZack Rusin
code generate big chunks of the vertex pipeline in order to speed up software vertex processing.