summaryrefslogtreecommitdiffstats
path: root/src/gallium
Commit message (Collapse)AuthorAgeFilesLines
* cell: Implement code-gen for logic opIan Romanick2008-03-268-33/+349
| | | | | | | This also implements code-gen for the float-to-packed color conversion. It's currently hardcoded for A8R8G8B8, but that can easily be fixed as soon as other color depths are supported by the Cell driver.
* gallium: as for aapoints, make the extra texcoord per-shader stateBrian Paul2008-03-261-11/+13
|
* gallium: Change pipe->flush() interface to optionally return a fence.Michel Dänzer2008-03-2621-61/+97
| | | | | The cell driver still uses an internal CELL_FLUSH_WAIT flag, in the long run proper fencing should be implemented for it.
* gallium: the generic attrib we use for computing coverage is per-shaderBrian2008-03-251-11/+13
| | | | Fixes a very tricky conformance failure.
* gallium: added fragment emit/write debug countersBrian2008-03-251-0/+30
|
* xlib: Add support for MIT-SHM in xlib winsys driverIan Romanick2008-03-254-56/+267
| | | | | | Gives about a 3% performance increase in gears on x86-64 (non-tiled) and about 10% performance increase in gears on Cell (tiled). I actually expected more of a boost. :(
* cell: Float convert-to and convert-from instructions use different shift biasIan Romanick2008-03-252-7/+7
|
* draw: Take flatshade_first rasterizer bit into account.Michal Krol2008-03-251-45/+117
|
* gallium: Introduce flatshade_first field to rasterizer_state.Michal Krol2008-03-251-0/+1
| | | | | This bit tells us which vertex of the primitive is used to propagate color for the remaining vertices if flatshade mode.
* draw: vertex fetch can be validated too early leading to an assertion... disableKeith Whitwell2008-03-251-1/+5
|
* draw: don't use fetch_and_store for bypass_vs mode, it's not quite rightKeith Whitwell2008-03-251-4/+1
|
* Fix typoJosé Fonseca2008-03-251-3/+3
|
* draw: take primitive into account when deciding if the pipeline is activeKeith Whitwell2008-03-254-37/+69
|
* gallium: Use debug_get_option for GETENVJosé Fonseca2008-03-251-5/+2
|
* gallium: Fix default option on Windows.José Fonseca2008-03-251-7/+6
|
* gallium: be smarter about picking the sampler unit for pstipple, aaalinesBrian2008-03-242-21/+74
| | | | | Also, if the app really uses all available sampler/texture units, don't just die. Just use the last sampler for the pstipple or aaline texture.
* gallium: fix a few bugs, warnings in the p_debug codeBrian2008-03-242-5/+8
| | | | added missing _ to a _debug_printf() call.
* gallium: move sampler_unit field to pstip_fragment_shader since it's per-shaderBrian2008-03-241-5/+16
| | | | Also, fix another texture refcounting bug.
* gallium: make a copy of the vertex shader's token array.Brian2008-03-243-3/+17
| | | | | This solves problems when the state tracker frees the token array when the draw module still needs it.
* gallium: use pipe_texture_reference() in a few places (fixes refcounting bugs)Brian2008-03-242-4/+17
|
* gallium: added tgsi_num_tokens() function to return number of tokens in ↵Brian2008-03-242-0/+17
| | | | | | token array. Maybe move to a different file someday.
* gallium: Simple cross platform get-opt system.José Fonseca2008-03-242-0/+171
| | | | | | Uses getenv on Linux, and a memory mapped text file on Windows. It supports boolean options, flags, and plain strings.
* gallium: cleanup p_debugJosé Fonseca2008-03-242-30/+118
| | | | | Now debug_printf is disabled on release builds. Use debug_error or _debug_printf to output messages on release versions.
* gallium: move filter assignment out of loopBrian2008-03-241-2/+4
|
* gallium: fix REALLOC() to copy smaller of old/new sizesBrian2008-03-241-3/+3
|
* gallium: Protect operator precedence in macro.José Fonseca2008-03-241-1/+1
|
* gallium: Remove util_gen_mipmap_filter().Michal Krol2008-03-242-18/+0
|
* gallium: pass the filter mode to util_gen_mipmap().Brian2008-03-242-16/+11
| | | | Remove util_gen_mipmap_filter() when no longer used.
* gallium: tweak coords in u_gen_mipmap codeMichal Krol2008-03-241-8/+8
|
* draw: pre-declare referenced structsKeith Whitwell2008-03-241-0/+2
|
* Revert "draw: Fix #include order to fix Linux build."Keith Whitwell2008-03-241-1/+1
| | | | This reverts commit a6d17bf671d6bfbb187a62ba14b9ad08fb5dafe1.
* draw: Fix #include order to fix Linux build.Michel Dänzer2008-03-241-1/+1
|
* draw: check need_pipeline() in passthroughKeith Whitwell2008-03-231-1/+1
|
* draw: tweak the definition of draw_need_pipeline, fix minor bugKeith Whitwell2008-03-231-11/+15
|
* draw: fix crlfKeith Whitwell2008-03-232-204/+204
|
* draw: rename emit functions to match pipe_format namesKeith Whitwell2008-03-231-22/+17
|
* draw: restructure fetch/emit as a pair of function callsKeith Whitwell2008-03-231-109/+152
|
* gallium: Add util_gen_mipmap_filter().Michal Krol2008-03-232-4/+28
| | | | | | | We need a way to specify the type of minification filter used to downsample mipmap levels. The old util_gen_mipmap() retains its behaviour and uses LINEAR filter.
* gallium: Fix memory leak.José Fonseca2008-03-231-19/+22
| | | | | | pipe cso's were being destroyed, but the hash elements themselves not. proper fix is IMHO add a destructor callback to cso_hash.
* gallium: Remove the debug_mask_* stuff.José Fonseca2008-03-232-98/+0
| | | | Overcomplex and not much different from using a global variable...
* gallium: Fix typo.José Fonseca2008-03-231-1/+1
|
* gallium: Memory debugging utilities.José Fonseca2008-03-234-2/+215
| | | | | | | There are no known tools for windows kernel memory debugging, so this is a simple set of malloc etc wrappers. Enabled by default on win32 debug builds
* gallium: wrap decls in extern "C"José Fonseca2008-03-231-0/+10
|
* draw: fix some unsigned vs ushort confusionKeith Whitwell2008-03-233-10/+9
| | | | | Middle-end elements are ushort, but prior to that have to treat all elements as unsigned to avoid wrapping and/or overruns.
* gallium: beginnings of draw module vertex reworkKeith Whitwell2008-03-2311-19/+1169
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Trying to put a structure in place that we can actually optimize. Initially just implementing a passthrough mode, this will fairly soon replace all the vertex_cache/prim_queue/shader_queue stuff that's so hard to understand... Split the vertex processing into a couple of distinct stages: - Frontend - Prepares two lists of elements (fetch and draw) to be processed by the next stage. This stage doesn't fetch or draw vertices, but makes the decision which to draw. Multiple implementations of this will implement different strategies, currently just a vcache implementation. - MiddleEnd - Takes the list of fetch elements, fetches them, runs the vertex shader, cliptest, viewport transform on them to produce a linear array of vertex_header vertices. - Passes that list of vertices, plus the draw_elements (which index into that list) onto the backend - Backend - Either the existing primitive/clipping pipeline, or the vbuf_render hardware backend provided by the driver. Currently, the middle-end is the old passthrough code, and it build hardware vertices, not vertex_header vertices as above. It may be that passthrough is a special case in this respect.
* gallium: free samplers, textures in destroy()Brian2008-03-222-0/+13
|
* gallium: remove temporary _screen suffix from function namesBrian2008-03-221-10/+10
|
* gallium: fix mem leak (fee pstipple stage)Brian2008-03-221-0/+2
|
* gallium: Remove pedantic asserts.José Fonseca2008-03-221-11/+7
| | | | Move these to a higher level instead.
* cell: Generate blend / depth test code when state atom is createdIan Romanick2008-03-211-21/+9
| | | | | Code generation should be performed when the device-specific state atom is created, not when it is bound.