summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/softpipe
Commit message (Collapse)AuthorAgeFilesLines
* softpipe: add support for shader stencil export capabilityDave Airlie2010-10-135-12/+67
| | | | | | this allows softpipe to be used to test shader stencil ref exporting. Signed-off-by: Dave Airlie <[email protected]>
* gallium/tgsi: add support for stencil writes.Dave Airlie2010-10-131-2/+10
| | | | | | this adds the capability + a stencil semantic id, + tgsi scan support. Signed-off-by: Dave Airlie <[email protected]>
* gallium/softpipe: remove duplicated includeNicolas Kaiser2010-09-301-1/+0
| | | | | | Remove duplicated include. Signed-off-by: Brian Paul <[email protected]>
* softpipe: fix swizzling of texture border colorBrian Paul2010-09-273-3/+29
| | | | | We ask the texture tile cache to swizzle the color for us since that's where the view/swizzling info is available.
* softpipe: allocate tile data on demandBrian Paul2010-09-272-42/+113
| | | | | | | | | | | | | | | | Changes in v2: - Invalidate last_tile_addr on any change, fixing regressions - Correct coding style Currently softpipe ends up allocating more than 200 MB of memory for each context due to the tile caches. Even worse, this memory is all explicitly cleared, which means that the kernel must actually back it with physical RAM right away. This change allocates tile memory on demand. Signed-off-by: Brian Paul <[email protected]>
* softpipe: minor asst. clean-upsBrian Paul2010-09-252-12/+11
|
* softpipe: make clip state functions staticBrian Paul2010-09-253-26/+26
|
* softpipe: make stream out state functions staticBrian Paul2010-09-253-24/+24
|
* softpipe: make rasterizer state functions staticBrian Paul2010-09-253-16/+19
|
* softpipe: make vertex state functions staticBrian Paul2010-09-253-22/+24
|
* softpipe: make sampler state functions staticBrian Paul2010-09-253-59/+31
|
* softpipe: make blend/stencil/depth functions staticBrian Paul2010-09-253-50/+44
|
* softpipe: make shader-related functions staticBrian Paul2010-09-253-63/+58
|
* softpipe: rename sp_state_fs.c -> sp_state_shader.cBrian Paul2010-09-253-2/+2
|
* softpipe: fix repeat() function for NPOT texturesBrian Paul2010-09-251-4/+4
| | | | | The trick of casting the coord to an unsigned value only works for POT textures. Add a bias instead. This fixes a few piglit texwrap failures.
* softpipe: add missing calls to set draw vertex samplers/viewsBrian Paul2010-09-211-0/+8
| | | | Part of the fix for running softpipe w/ LLVM-enabled draw module.
* Merge branch 'sprite-coord'Brian Paul2010-09-212-1/+16
|\
| * gallium: rework handling of sprite_coord_enable stateBrian Paul2010-09-172-1/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Implement the pipe_rasterizer_state::sprite_coord_enable field in the draw module (and softpipe) according to what's specified in the documentation. The draw module can now add any number of extra vertex attributes to a post-transformed vertex and generate texcoords for those attributes per sprite_coord_enable. Auto-generated texcoords for sprites only worked for one texcoord unit before. The frag shader gl_PointCoord input is now implemented like any other generic/texcoord attribute. The draw module now needs to be informed about fragment shaders since we need to look at the fragment shader's inputs to know which ones need auto-generated texcoords. Only softpipe has been updated so far.
* | softpipe: fix whitespaceLuca Barbieri2010-09-201-2/+2
| |
* | softpipe: make z/s test always pass if no zsbuf, instead of crashingLuca Barbieri2010-09-201-2/+6
|/ | | | D3D10 specifies this.
* gallium: introduce get_shader_param (ALL DRIVERS CHANGED) (v3)Luca Barbieri2010-09-141-39/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Changes in v3: - Also change trace, which I forgot about Changes in v2: - No longer adds tessellation shaders Currently each shader cap has FS and VS versions. However, we want a version of them for geometry, tessellation control, and tessellation evaluation shaders, and want to be able to easily query a given cap type for a given shader stage. Since having 5 duplicates of each shader cap is unmanageable, add a new get_shader_param function that takes both a shader cap from a new enum and a shader stage. Drivers with non-unified shaders will first switch on the shader and, within each case, switch on the cap. Drivers with unified shaders instead first check whether the shader is supported, and then switch on the cap. MAX_CONST_BUFFERS is now per-stage. The geometry shader cap is removed in favor of checking whether the limit of geometry shader instructions is greater than 0, which is also used for tessellation shaders. WARNING: all drivers changed and compiled but only nvfx tested
* softpipe: Include missing header in sp_flush.c.Vinson Lee2010-08-281-0/+1
| | | | Include p_screen.h for complete type to pipe_screen.
* gallium: Use draw_set_index_buffer and others.Chia-I Wu2010-08-252-20/+8
| | | | | | Update all drivers to use draw_set_index_buffer, draw_set_mapped_index_buffer, and draw_vbo. Remove draw_set_mapped_element_buffer and draw_set_mapped_element_buffer_range.
* gallium: make all checks for PIPE_TEXTURE_2D check for PIPE_TEXTURE_RECT tooLuca Barbieri2010-08-202-0/+3
| | | | | | | Searched for them with: git grep -E '[!=]=.*PIPE_TEXTURE_2D|PIPE_TEXTURE_2D.*[!=]=|case.*PIPE_TEXTURE_2D' Behavior hasn't been changed.
* gallium: implement bounds checking for constant buffersBrian Paul2010-07-293-3/+7
| | | | | | Plumb the constant buffer sizes down into the tgsi interpreter where we can do bounds checking. Optional debug code warns upon out-of-bounds reading. Plus add a few other assertions in the TGSI interpreter.
* gallium: Avoid void pointer arithmetic.Chia-I Wu2010-07-291-2/+2
| | | | This fixes fdo bug #29286.
* gallium: Keep only pipe_context::draw_vbo.Chia-I Wu2010-07-293-190/+0
| | | | | | | That is, remove pipe_context::draw_arrays, pipe_context::draw_elements, pipe_context::draw_arrays_instanced, pipe_context::draw_elements_instanced, pipe_context::draw_range_elements.
* gallium: Implement draw_vbo and set_index_buffer for all drivers.Chia-I Wu2010-07-295-30/+86
| | | | | | | | | | | | | | | Some drivers define a generic function that is called by all drawing functions. To implement draw_vbo for such drivers, either draw_vbo calls the generic function or the prototype of the generic function is changed to match draw_vbo. Other drivers have no such generic function. draw_vbo is implemented by calling either draw_arrays and draw_elements. For most drivers, set_index_buffer does not mark the state dirty for tracking. Instead, the index buffer state is emitted whenever draw_vbo is called, just like the case with draw_elements. It surely can be improved.
* softpipe: Check for NULL pointer in sp_destroy_tile_cache().Michal Krol2010-07-231-8/+10
|
* softpipe: Check for NULL pointer in sp_destroy_tex_tile_cache().Michal Krol2010-07-231-11/+13
|
* softpipe: add missing support for PIPE_FORMAT_S8_USCALED surfacesBrian Paul2010-07-211-20/+20
| | | | | | And remove checks of surface depth bits. The state tracker should not turn on depth/stencil testing if the framebuffer doesn't have depth/stencil.
* softpipe: fix sp_tile_cache_flush_clear() regressionBrian Paul2010-07-211-5/+11
|
* softpipe: Support non-depth-stencil formats in sp_tile_cache_flush_clear().Michal Krol2010-07-201-2/+7
|
* softpipe: re-order drawing functions to get rid of prototypeBrian Paul2010-07-151-108/+102
|
* softpipe: fix incorrect blend func index passed to blend_quad()Brian Paul2010-07-021-8/+15
| | | | | | | | Need to pass the index indicating which blend terms to use, not which color buffer we're blending into. Rename the parameter to blend_quad() and add comments to be more clear about this.
* softpipe: better assertionsBrian Paul2010-07-021-7/+7
|
* mesa: initial support for ARB_geometry_shader4Zack Rusin2010-06-281-0/+3
| | | | | | laying down the foundation for everything and implementing most of the stuff. linking, gl_VerticesIn and multidimensional inputs are left.
* softpipe: rename a varBrian Paul2010-06-251-4/+4
|
* softpipe: fix comment typoBrian Paul2010-06-251-1/+1
|
* gallium: add a timestamp disjoint queryZack Rusin2010-06-221-1/+13
| | | | | | allows application to not only request the frequency of the TIME_ELAPSED clock but also to detect if that frequency was consistent throughout the entire bracketed range of graphics commands.
* gallium: add a new queryZack Rusin2010-06-221-2/+10
| | | | to figure out if gpu is finished with all of the previously issues commands
* draw: rewrite stream output to handle all the dark cornersZack Rusin2010-06-161-4/+6
| | | | | register masks, multiple output buffers, multiple primitives, non-linear vertices (elts) and stride semantics.
* softpipe/gs: fix a crash when a gs isn't presentZack Rusin2010-06-151-16/+20
|
* softpipe: small cleanupZack Rusin2010-06-121-1/+3
|
* gallium/softpipe/draw: support samplers in geometry shadersZack Rusin2010-06-117-1/+135
|
* softpipe: make sure we don't fallback to assert on so stats queryZack Rusin2010-06-081-0/+2
| | | | spotted by Vinson
* softpipe: make sure that invalid calls to sosettargets don't crash usZack Rusin2010-06-081-0/+7
|
* softpipe: added sp_state_so.c to file listBrian Paul2010-06-081-0/+1
|
* gallium: add basic support for stream output queriesZack Rusin2010-06-083-2/+28
|
* gallium: adjust the query interface to support custom typesZack Rusin2010-06-081-1/+2
| | | | we need to change it to support composite types