summaryrefslogtreecommitdiff
path: root/src/gallium/drivers
AgeCommit message (Collapse)Author
2008-02-25gallium/i915: compute vertex size _after_ state validation in emit_prim().Brian
Fixes crash when drawing aa lines.
2008-02-25gallium/i915: plug in aaline draw stageBrian
2008-02-25gallium/i915: make sure state is up to date in ↵Brian
i915_vbuf_render_get_vertex_info(), also disable bogus assertion
2008-02-25gallium/i915: need to recompute vertex info if vertex shader changesBrian
2008-02-25gallium/i915: call draw_flush() in i915_flush()Brian
2008-02-25gallium/i915: use draw_find_vs_output() directly, fix broken fogcoords.Brian
We now produce the correct 915 vertex layout regardless of the order in which fragment shader inputs are declared.
2008-02-25softpipe: use draw_find_vs_output() directlyBrian
2008-02-25gallium/i915: added SGT/SLE opcodesBrian
2008-02-24Add new files.José Fonseca
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