summaryrefslogtreecommitdiff
path: root/src/gallium/drivers
AgeCommit message (Collapse)Author
2008-02-23gallium: disable early Z test if fragment shader contains KIL instruction.Brian
Use tgsi_scan_shader() to determine if the fragment shader uses KIL or writes fragment.z
2008-02-24gallium: MSVC fixes.José Fonseca
2008-02-23Bring in several forgotten MSVC fixes.José Fonseca
2008-02-22gallium: fix a state validation bug found w/ pointblast.cBrian
2008-02-22gallium/i915: overhaul of fragment shader compilation, constant/immediate ↵Brian
allocation Before, fragment shaders were translated to i915 hw code at bind time, rather than create time. Now there's an i915_fragment_shader struct with the expected contents that's created by i915_create_fs_state(). Translation to i915 code takes place there too. Immediates are handled correctly now. During program translation we keep track of which constant buffer slots are free (i.e. not referenced by the shader). Then the TGSI immediates and ancillary immediates (introduced for SIN/COS/etc) are put into those free slots. When it's time to upload the constant buffer, use the fp->constant_flags[] array to determine if we should grab an immediate from the shader, or a user-defined parameter from the gallium constant buffer.
2008-02-22gallium: fix brokenb buildBrian
2008-02-22cell: added function prototypes to silence warningsBrian
2008-02-22cell: fix build: s/dest/vertex/Brian
2008-02-23gallium: Fix build on Windows.Michal Krol
2008-02-23gallium: Silence compiler warnings on Windows.Michal Krol
2008-02-21gallium: new draw stage for polygon stipple.Brian
For hardware without native polygon stipple. Create a 32x32 alpha texture that encodes the stipple pattern. Modify the user's fragment program to sample the texture (with gl_FragCoord) and kill the fragment according to the texel value. Temporarily enabled in softpipe driver, replacing the sp_quad_stipple.c step.
2008-02-21gallium: new AA point drawing stageBrian
AA points are drawn by converting the point to a quad, then modifying the user's fragment shader to compute a coverage value. The final fragment color's alpha is modulated by the coverage value. Fragments outside the point's radius are killed.
2008-02-21[PATCH] softpipe: unbreak sp_setup_pos_vector on non-x86 systemsKeith Whitwell
2008-02-21Cell: Remove erroneous ALIGN16_ATTRIB attributesIan Romanick
If a structure is marked as being aligned the SPE compiler performs extra optimizations (sadly, only -O2 is used) when reading the structure. Since most of the structures sent in batch buffers are only 8-byte aligned, this resulted in mysterous bugs with -O2.
2008-02-21Cell: Add spu_dcache.c to Makefile.Ian Romanick
This was erroneously missing in previous commits.
2008-02-21Cell: Initial scalar implementation of spu_dcache_mark_dirtyIan Romanick
2008-02-21Cell: Fix off-by-one error in spu_dcache_fetch_unalignedIan Romanick
An off-by-one error caused an extra qword to be fetched under certain alignment / size combinations.
2008-02-21Cell: Initial pass at unified data cacheIan Romanick
2008-02-20gallium: include p_inlines.hBrian
2008-02-20gallium: s/pipe_reference_texture/pipe_texture_reference/Brian
2008-02-20cell: use pipe_texture_reference()Brian
2008-02-20gallium: replace some ordinary assignments with pipe_reference_texture()Brian
This fixes at least one instance of dereferencing an invalid texture pointer.
2008-02-20gallium: fix bad ptr comparisonBrian
2008-02-20cell: rename cell_state_fs.c -> cell_state_shader.cBrian
2008-02-20cell: init shader-related functions in cell_init_shader_functions()Brian
2008-02-20cell: #includes to silence warningsBrian
2008-02-20cell: plug in cell_set_sampler_textureBrian
2008-02-20Remove obsolete files replaced by cell_pipe_state.cBrian
2008-02-20cell: put most simple state-setter functions in new cell_pipe_state.c fileBrian
Also, re-org of texture/surface functions.
2008-02-20gallium: re-org of i965 texture/surface code, functionsBrian
2008-02-20gallium: minor re-org of 915 surface/texture codeBrian
2008-02-20gallium: new pipe->texture_update() functionBrian
Called whenever texture data is changed (glTexImage, glTexSubImage, glCopyTexSubImage, etc).
2008-02-20gallium: use pipe_texture_reference() in sp_tile_cache_set_texture()Brian
2008-02-19gallium: initialize the killmask register to zero before running shaderBrian
This fixes mysterious missing fragments when running with SSE.
2008-02-19gallium: add some casts to prevent likely msvc warningsBrian
2008-02-19gallium: don't hard-code attrib slot=0 in setup_fragcoord_coeff()Brian
2008-02-19gallium: implement correct sampling for RECT targets / unnormalized texcoordsBrian
2008-02-19gallium: updated cell buildBrian
Building on Ian's Cell build fix. Put libcell.a in the gallium/drivers/cell/ directory. General Makefile clean-up, simplification, updated comments.
2008-02-19Cell: emit vertex shaders and uniforms more intelligentlyIan Romanick
2008-02-19Cell: trivial clean-upsIan Romanick
2008-02-19Remove src/mesa and src/mesa/main from gallium source include paths.José Fonseca
2008-02-19Bring in ppc spe rtasm into gallium's rtasm module.José Fonseca
Moving files since these are not being used outside gallium.
2008-02-19Simplify makefile boilerplate code.José Fonseca
Don't define ASM_SOURCES variable globally -- reserve that variable to be defined locally by makefiles, together with C_SOURCES and CPP_SOURCES.
2008-02-19Use gallium's rtasm module.José Fonseca
2008-02-19More llvm -> gallivm.José Fonseca
Forgot this one on the last commit.
2008-02-18gallium: move draw_set_viewport_state() call, plus code clean-up, remove ↵Brian
obsolete comments
2008-02-18gallium: call draw_flush() for scissor/stipple state changesBrian
2008-02-18gallium: antialiased line drawingBrian
New draw/prim stage: draw_aaline. When installed, lines are replaced by textured quads to do antialiasing. The current user-defined fragment shader is modified to do a texture fetch and modulate fragment alpha.
2008-02-18Standardize on using the pipe/ include prefix.José Fonseca
2008-02-18Update scons build for new code layout.José Fonseca