summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/llvmpipe/lp_jit.c
AgeCommit message (Collapse)Author
2010-03-11gallivm/llvmpipe: replace 'int stride' with 'int row_stride[MAX_LEVELS]'Brian Paul
The stride depends on the mipmap level. Rename to row_stride to distinguish from img_stride for 3D textures. Fixes incorrect texel addressing in small mipmap levels.
2010-03-08llvmpipe/gallivm: checkpoint: array of pointers to mipmap levelsBrian Paul
Change the texture data_ptr from just a single image pointer to an array of image pointers, indexed by mipmap level. We'll use this for mipmap filtering. For now, the mipmap level is hard-coded to zero.
2010-03-05llvmpipe: added code to set texture depth, max mipmap levels infoBrian Paul
2010-03-03llvmpipe: Centralize LLVM initialization.José Fonseca
2010-02-10llvmpipe: Remove unnecessary headers.Vinson Lee
2010-02-08llvmpipe: include gallivm/lp_bld_misc.hBrian Paul
2010-02-08llvmpipe: export the tgsi translation code to a common layerZack Rusin
the llvmpipe tgsi translation is a lot more complete than what was in gallivm so replacing the latter with the former. this is needed since the draw llvm paths will use the same code. effectively the proven llvmpipe code becomes gallivm.
2010-01-31Merge remote branch 'origin/master' into lp-binningJosé Fonseca
Conflicts: Makefile src/gallium/auxiliary/util/u_surface.c src/gallium/drivers/llvmpipe/lp_flush.c src/gallium/drivers/llvmpipe/lp_setup.c src/gallium/drivers/llvmpipe/lp_state_derived.c src/gallium/drivers/llvmpipe/lp_state_fs.c src/gallium/drivers/llvmpipe/lp_state_surface.c src/gallium/drivers/llvmpipe/lp_tex_cache.c src/gallium/drivers/llvmpipe/lp_texture.c src/gallium/drivers/llvmpipe/lp_tile_cache.c src/mesa/state_tracker/st_cb_condrender.c
2010-01-27llvmpipe: added debug option to disable LLVM optimization passesBrian Paul
2010-01-22Merge branch 'mesa_7_7_branch'Brian Paul
Conflicts: src/gallium/auxiliary/draw/draw_context.c src/gallium/auxiliary/draw/draw_pt_fetch_shade_pipeline.c src/gallium/auxiliary/pipebuffer/Makefile src/gallium/auxiliary/pipebuffer/SConscript src/gallium/auxiliary/pipebuffer/pb_buffer_fenced.c src/gallium/auxiliary/tgsi/tgsi_scan.c src/gallium/drivers/i915/i915_surface.c src/gallium/drivers/i915/i915_texture.c src/gallium/drivers/llvmpipe/lp_setup.c src/gallium/drivers/llvmpipe/lp_tex_sample_c.c src/gallium/drivers/llvmpipe/lp_texture.c src/gallium/drivers/softpipe/sp_prim_vbuf.c src/gallium/state_trackers/xorg/xorg_dri2.c src/gallium/winsys/drm/intel/gem/intel_drm_api.c src/gallium/winsys/drm/nouveau/drm/nouveau_drm_api.c src/gallium/winsys/drm/radeon/core/radeon_drm.c src/gallium/winsys/drm/vmware/core/vmw_screen_dri.c src/mesa/state_tracker/st_cb_clear.c
2010-01-21llvmpipe: Remove unnecessary headers.Vinson Lee
2010-01-14llvmpipe: implement scissor testingBrian Paul
The scissor test is implemented as another per-quad operation in the JIT code. The four scissor box params are passed via the lp_jit_context. In the JIT code we compare the quad's x/y coords against the clip bounds and create a new in/out mask that's AND'd with the main quad mask. Note: we should also do scissor testing in the triangle setup code to improve efficiency. That's not done yet.
2010-01-07llvmpipe: Remove TGSI sampler pointers from JIT context too.José Fonseca
2010-01-07llvmpipe: Remove more loose ends of TGSI exec sampling.José Fonseca
2009-11-26llvmpipe: Fake missing SSSE3 when simulation less capabable machines.José Fonseca
SSE3 != SSSE3 and so far we only use the later.
2009-11-24llvmpipe: Use assert instead of abort. Only verify functions on debug builds.José Fonseca
2009-10-28llvmpipe: Make sure the JIT engine and X86 target are linked on MSVC build.José Fonseca
Basically mimic the llvm 2.6 way of linking execution engines and targets.
2009-09-29llvmpipe: Workaround for bug in llvm 2.5.José Fonseca
The combination of fptosi and sitofp (necessary for trunc/floor/ceil/round implementation) somehow becomes invalid code. Skip the instruction combining pass when SSE4.1 is not available.
2009-09-29llvmpipe: Emit SSE intrinsics based on runtime cpu capability check.José Fonseca
Note that llvmpipe still doesn't run on any processor yet: if you don't have a recent processor with SSE4.1 you will still likely end up hitting a code path for which a generic non-sse4 version is not implemented yet.
2009-09-26llvmpipe: Allow building with LLVM 2.6 too.José Fonseca
2009-09-16llvmpipe: Make the code portable for MinGW.José Fonseca
2009-09-07llvmpipe: Code generate the texture sampling inside the shader.José Fonseca
Finally a substantial performance improvement: framerates of apps using texturing tripled, and furthermore, enabling/disabling texturing only affects around 15% of the framerate, which means the bottleneck is now somewhere else. Generated texture sampling code is not complete though -- we always sample from the base level -- so final figures will be different.
2009-08-29llvmpipe: Isolate sampling from TGSI translation.José Fonseca
2009-08-29llvmpipe: Pre-declare fetch_texel.José Fonseca
2009-08-29llvmpipe: Pass the alpha ref value and blend color in the jit context.José Fonseca
2009-08-29llvmpipe: Pass fragment context to generated function in a single structure.José Fonseca
2009-08-29llvmpipe: Centralize the C <-> JIT interfaces in one place.José Fonseca