summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* mesa: new _mesa_remove_varying_reads() functionBrian2008-04-072-2/+96
| | | | | | | | We'll apply this function to GLSL vertex programs. In GLSL it's legal to read and write varying (output) vars in a vertex shader. But reading from an output register isn't supported by all hardware. This routine examines the vertex program for that condition and rewrites it to use temporary registers where needed.
* mesa: added _mesa_insert_instructions()Brian2008-04-072-10/+52
| | | | Also, use new _mesa_free_instructions() in a few places.
* mesa: added _mesa_free_instructions()Brian2008-04-072-0/+20
|
* draw: strip edgeflags out of fetch-emit pathKeith Whitwell2008-04-071-1/+1
|
* draw: fix edgeflag handling on the pt pathsKeith Whitwell2008-04-064-175/+253
| | | | | | | | | Encode edgeflags (and reset_stipple info) into the top two bits of the fetch elements. This info could be moved elsewhere, but for now we can live with a 1<<30 maximum element size... Also use the primitive decomposition code from draw_prim.c verbatim, as it includes all this stuff and is known to work.
* draw: Use debug_printf().Michal Krol2008-04-051-2/+2
|
* gallium: Keep fenced buffers list ordered.José Fonseca2008-04-051-53/+99
| | | | This allows to keep the list small without the overhead of full walks.
* gallium: Fix typo.José Fonseca2008-04-051-1/+1
|
* gallium: Use the custom snprintf implementation everywhere (for Win32).José Fonseca2008-04-052-8/+12
| | | | Because winddk's implemenation does not handle floats.
* mesa: no longer combine vertex/fragment shader parameters/uniformsBrian2008-04-044-270/+239
| | | | | | | GLSL Vertex and fragment shaders now have independent parameter buffers. A new gl_uniform_list is used to keep track of program uniforms and where each uniform is located in each shader's parameter buffer. This makes better use of the space in each buffer and simplifies shader linking.
* mesa: new functions for managing list/index of uniformsBrian2008-04-042-0/+248
|
* mesa: test code to exercise more GLSL functionsBrian2008-04-041-27/+18
|
* mesa: added more ext funcs (from Mesa/master)Brian2008-04-041-0/+24
|
* gallium: always pass size=4 to make_immediate()Brian2008-04-041-2/+1
| | | | | Mesa always packs 4 immediates into each parameter/const buffer slot. I think we were just getting lucky with this as it was.
* gallium: adjust the code in update_textures() to look more like ↵Brian2008-04-041-8/+7
| | | | update_samplers()
* mesa: add missing glPush/PopMatrix() callsBrian2008-04-041-0/+2
|
* mesa: add missing glPush/PopMatrix() callsBrian2008-04-041-0/+2
|
* gallium: state tracker fixes for compressed texturesRoland Scheidegger2008-04-042-0/+9
|
* gallium: add new call to st_flush_bitmap_cache() to fix recent regressionBrian Paul2008-04-041-0/+2
|
* gallium: new debug code, disabledBrian Paul2008-04-041-0/+15
|
* gallium: make sure to set the SamplersUsed field for bitmap/drawpixels shadersBrian Paul2008-04-044-0/+5
| | | | | Also, make sure that field is copied/updated in the program clone and combine functions. Without this we weren't getting SAMP declarations in the TGSI shaders.
* gallium: Handle client-supplied edgeflags.Keith Whitwell2008-04-047-28/+71
| | | | | | | | Also, implement support in the draw module. We were hardwiring these to one for quite a long time... Currently using a draw_set_edgeflags() function, may be better to push the argument into the draw_arrays() function. TBD.
* gallium: Revert st_gl_flush() changes from when the **fence argument was added.Michel Dänzer2008-04-041-1/+10
| | | | | As st_gl_flush() isn't used by st_finish() anymore, it doesn't have to make sure pipe->flush() always gets called.
* gallium: Call st_flush() instead of st_gl_flush() in st_finish().Michel Dänzer2008-04-041-1/+1
| | | | | This is enough for the current purpose of st_finish(), which is to wait for things to settle down before context teardown.
* draw: move code to run pipeline from pt to new fileKeith Whitwell2008-04-046-99/+196
| | | | | Add facility for draw_vbuf.c to reset these vertex ids on flushes. Pre-initialize vertex ids correctly.
* Alias glStencilOpSeparateATI with glStencilOpSeparate.Brian2008-04-0413-283/+168
|
* test glStencilFuncSeparateATI()Brian2008-04-041-0/+26
|
* Finish up ATI_separate_stencilBrian2008-04-0414-1074/+1258
| | | | | | Add entrypoints to glapi XML file and regenerate files. Implement glStencilOpSeparateATI(). Consolidate some code in stencil.c
* add missing _mesa_StencilFuncSeparateATI functionRoland Scheidegger2008-04-042-0/+77
|
* gallium: fix two-side stencil handlingRoland Scheidegger2008-04-042-2/+3
| | | | | | | | | | | Previously all drivers were in twosided mode since they checked for stencil.enable[1] flag which was a copy of stencil.enable[0]. Note that drivers should not reference stencil[1] state (other than the enable) if twosided stenciling is disabled (for now the stencil state is still copied but for instance clear_with_quads won't provide useful values in there). Also, use _TestTwoSide instead of TestTwoSide since results would be bogus otherwise if using APIs with implicit two side stencil enable (i.e. core ogl 2.0).
* gallium: make msvc less unhappyKeith Whitwell2008-04-041-7/+8
|
* gallium: Always allocate new const buffers instead of modifying existing ones.Michel Dänzer2008-04-041-7/+6
|
* cell: added some comments/ideas about better texture samplingBrian2008-04-031-1/+17
|
* cell: minor texture improvementsBrian2008-04-033-11/+26
| | | | Precompute tiles_per_row. Use ushort multiplies in a few places. New comments.
* gallium: test if PIPE_FORMAT_YCBCR[_REV] is supported and enable ↵Brian2008-04-032-8/+22
| | | | | | GL_MESA_ycbcr_texture Update texture format selection code too.
* gallium: implement ycbcr->rgba tile conversionBrian2008-04-031-0/+71
|
* gallium: set rasterizer.gl_rasterization_rules = 1 in a few more placesBrian2008-04-032-0/+2
|
* gallium: streamline viewport/raster/shader state for clearing with quadsBrian Paul2008-04-034-37/+45
| | | | Move init of these items to new st_init_clear().
* gallium: include st_cb_bitmap.h to silence warningBrian Paul2008-04-031-0/+1
|
* gallium: remove the temporary/test TEST_DRAW_PASSTHROUGH codeBrian Paul2008-04-031-12/+0
|
* gallium: use identity viewport fix broken clear_with_quad() pathBrian Paul2008-04-031-7/+5
| | | | | Since bypass_clipping is set and we're specifying quad vertexes in window coords, setup identity viewport.
* gallium: call st_flush_bitmap_cache()Brian Paul2008-04-031-0/+2
|
* gallium: set gl_rasterization_rulesBrian Paul2008-04-031-0/+1
|
* gallium: Only build softpipe driver by default for xlib winsys with scons.Michel Dänzer2008-04-031-2/+0
|
* draw: add passthrough path to the pipelineKeith Whitwell2008-04-038-67/+424
| | | | | | | This handles the case where bypass_vs is set, but vertices need to go through the pipeline for some reason - eg unfilled polygon mode. Demonstrates how to drive the pipeline from inside one of these things.
* draw: add missing break statementKeith Whitwell2008-04-021-0/+1
|
* draw: Set the backend prim in the pt 'prepare' operationKeith Whitwell2008-04-024-28/+31
| | | | | | | Leaving it until 'run' is bad as the primitive is pretty much state for some drivers and so needs to get set early. In some drivers this is used to determine things like vertex format, etc -- by the time we get to 'run', it's too late to change this.
* gallium: add a flag to turn on gl rasterization rulesKeith Whitwell2008-04-023-6/+16
| | | | | | | Use this to set up hardware rasterization (if your hardware can do it) or otherwise turn on various tweaks in the draw module. Currently only hooked up to point biasing code.
* gallium: add temporary facility for rasterization-time clamping of point sizesKeith Whitwell2008-04-023-1/+19
|
* mesa: added a cast to avoid int overflow, plus rename texels->pixelsBrian2008-04-011-4/+4
|