summaryrefslogtreecommitdiff
path: root/src/gallium/auxiliary/draw/draw_pt_fetch_shade_pipeline_llvm.c
AgeCommit message (Collapse)Author
2010-04-08draw llvm: hook up the generated function into the draw elts pathZack Rusin
we were only using the jited function in the linear case, now drawelts correctly uses the same path. it results in a significant gain in real world apps (openarena went from 23fps to 29fps)
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-07draw llvm: Remove unnecessary headers.Vinson Lee
2010-04-06draw llvm: disable debugging outputZack Rusin
2010-04-06draw llvm: implement simple pipeline caching using variantsZack Rusin
2010-04-06draw llvm: fix draw arraysZack Rusin
we don't index within the outputs but only within the inputs
2010-04-06draw llvm: fix loop iteration and vertex header offsetsZack Rusin
the loop was doing a NE comparison which we could have skipped if the prim was triangles (3 verts) and our step was 4 verts. also fix offsets in conversion to aos.
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: actually set the constant buffers on the contextZack Rusin
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.