summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers
Commit message (Collapse)AuthorAgeFilesLines
* gallium/i965: implement pipe_screen for i965 driver (untested)Brian2008-02-278-95/+335
|
* gallium/i915: hook up screen->get_param()Brian2008-02-272-50/+68
|
* Cell: implement pipe_screen for cell driverBrian2008-02-277-63/+249
|
* gallium: implement pipe_screen for softpipe driverBrian2008-02-276-64/+216
|
* gallium/i915: remove some redundant codeBrian2008-02-273-56/+1
|
* gallium: softpipe_init_texture_funcs(), make texture func staticBrian2008-02-273-25/+17
|
* gallium: update for new i915_screen.c file; fix some warnings.José Fonseca2008-02-274-0/+20
|
* cell: insert a (disabled) call to spe_cpu_info_get()Brian2008-02-261-0/+3
| | | | Found on the Cell devel forum, but doesn't appear to be available in SDK 2.1.
* gallium: introduce 'pipe_screen' for context-independent functionsBrian2008-02-269-59/+298
| | | | | | | This will allow creating textures before a rendering context exists, for example. Only implemented in i915 driver for now. i915pipe->texture_create() just dispatches through to the i915screen->texture_create() to avoid state tracker changes for now.
* gallium: remove pipe parameter from pipe_texture_reference()Brian2008-02-267-8/+7
| | | | | Added pipe field to pipe_texture (temporary, see comments). First step toward context-less texture creation...
* gallium: replace draw_convert_wide_points() with draw_wide_point_threshold()Brian2008-02-261-3/+0
| | | | | | | Specifying a threshold size is a bit more flexible, and allows the option of converting even 1-pixel points to triangles (set threshold=0). Also, remove 0.25 pixel bias in wide_point().
* cell: Multiple rendering contexts don't work yetIan Romanick2008-02-261-0/+10
| | | | | Log a message and forcibly exit. This prevents silly fools from thinking there's a bug...instead of just an unimplemented feature. :)
* gallium/i915: Use tgsi_scan_shader() to collect shader infoBrian2008-02-265-39/+19
| | | | | No longer use semantic info in pipe_shader_state. Also, remove redundant semantic info from i915_fp_compile struct.
* gallium: remove unused varBrian2008-02-261-1/+0
|
* gallium: added tgsi_shader_field to sp_fragment_shaderBrian2008-02-267-25/+32
| | | | | Use the shader semantic info from there, instead of from pipe_shader_state. Carry this idea to draw module and other drivers...
* gallium/i915: plug in aapoint draw stageBrian2008-02-251-3/+1
|
* gallium/i915: Fix emit_hw_vertex(): need to use vinfo->src_index[]Brian2008-02-251-14/+16
|
* gallium/i915: remove debug codeBrian2008-02-251-1/+0
|
* gallium/i915: fix i915_emit_texld() to handle swizzled texcoordsBrian2008-02-252-16/+67
| | | | Allocate a temporary register, insert MOV instruction, etc.
* cell: Additional changes to match changes in draw/draw_vertex_shader.cIan Romanick2008-02-251-1/+2
|
* cell: Fix off-by-one error in spu_dcache_fetch_unalignedIan Romanick2008-02-251-18/+32
| | | | | This time the off-by-one error caused an extra qword to be fetched under certain circumstances when the source ea was not qword aligned.
* cell: Trivial compiler warning clean-ups.Ian Romanick2008-02-254-5/+8
|
* Cell: Remove unnecessary include filesIan Romanick2008-02-252-4/+0
|
* Cell: Use multiple DMA tags for the dcache.Ian Romanick2008-02-252-2/+5
|
* gallium/i915: compute vertex size _after_ state validation in emit_prim().Brian2008-02-251-3/+7
| | | | Fixes crash when drawing aa lines.
* gallium/i915: plug in aaline draw stageBrian2008-02-251-1/+5
|
* gallium/i915: make sure state is up to date in ↵Brian2008-02-251-1/+8
| | | | i915_vbuf_render_get_vertex_info(), also disable bogus assertion
* gallium/i915: need to recompute vertex info if vertex shader changesBrian2008-02-253-1/+4
|
* gallium/i915: call draw_flush() in i915_flush()Brian2008-02-251-0/+3
|
* gallium/i915: use draw_find_vs_output() directly, fix broken fogcoords.Brian2008-02-251-46/+53
| | | | | We now produce the correct 915 vertex layout regardless of the order in which fragment shader inputs are declared.
* softpipe: use draw_find_vs_output() directlyBrian2008-02-251-32/+7
|
* gallium/i915: added SGT/SLE opcodesBrian2008-02-251-0/+31
|
* Add new files.José Fonseca2008-02-241-0/+3
|
* gallium: disable early Z test if fragment shader contains KIL instruction.Brian2008-02-233-11/+19
| | | | | Use tgsi_scan_shader() to determine if the fragment shader uses KIL or writes fragment.z
* gallium: MSVC fixes.José Fonseca2008-02-241-2/+2
|
* Bring in several forgotten MSVC fixes.José Fonseca2008-02-232-3/+3
|
* gallium: fix a state validation bug found w/ pointblast.cBrian2008-02-221-0/+4
|
* gallium/i915: overhaul of fragment shader compilation, constant/immediate ↵Brian2008-02-227-150/+226
| | | | | | | | | | | | | | | | | | 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.
* gallium: fix brokenb buildBrian2008-02-221-1/+1
|
* cell: added function prototypes to silence warningsBrian2008-02-222-0/+6
|
* cell: fix build: s/dest/vertex/Brian2008-02-221-1/+1
|
* gallium: Fix build on Windows.Michal Krol2008-02-231-1/+1
|
* gallium: Silence compiler warnings on Windows.Michal Krol2008-02-231-3/+3
|
* gallium: new draw stage for polygon stipple.Brian2008-02-213-0/+14
| | | | | | | | 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.
* gallium: new AA point drawing stageBrian2008-02-211-1/+5
| | | | | | | 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.
* [PATCH] softpipe: unbreak sp_setup_pos_vector on non-x86 systemsKeith Whitwell2008-02-212-35/+35
|
* Cell: Remove erroneous ALIGN16_ATTRIB attributesIan Romanick2008-02-211-3/+3
| | | | | | | 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.
* Cell: Add spu_dcache.c to Makefile.Ian Romanick2008-02-211-0/+1
| | | | This was erroneously missing in previous commits.
* Cell: Initial scalar implementation of spu_dcache_mark_dirtyIan Romanick2008-02-211-6/+16
|
* Cell: Fix off-by-one error in spu_dcache_fetch_unalignedIan Romanick2008-02-212-6/+6
| | | | | An off-by-one error caused an extra qword to be fetched under certain alignment / size combinations.