summaryrefslogtreecommitdiff
path: root/src/gallium/auxiliary/cso_cache
AgeCommit message (Collapse)Author
2011-02-14gallium: always save and restore vertex buffers using cso_cacheMarek Olšák
2011-02-03cso: don't tell drivers to bind null samplers, sampler viewsBrian Paul
Before, the set_sampler_views() and restore_sampler_views() functions used MAX2(old,new) to tell the driver how many samplers or sampler views to set. This could result in cases such as: pipe->set_fragment_sampler_views(pipe, 4, views={foo, bar, NULL, NULL}) Many/most gallium drivers would take this as-is and set ctx->num_sampler_views=4 and ctx->sampler_views={foo, bar, NULL, NULL, ...}. Later, loops over ctx->num_sampler_views would have to check for null pointers. Worse, the number of sampler views and number of sampler CSOs could get out of sync: ctx->num_samplers = 2 ctx->samplers = {foo, bar, ...} ctx->num_sampler_views = 4 ctx->sampler_views={Foo, Bar, NULL, NULL, ...} So loops over the num_samplers could run into null sampler_views pointers or vice versa. This fixes a failed assertion in the SVGA driver when running the Mesa engine demo in AA line mode (and possibly other cases). It looks like all gallium drivers are careful to unreference views and null-out sampler CSO pointers for the units beyond what's set with the pipe::bind_x_sampler_states() and pipe::set_x_sampler_views() functions. I'll update the gallium docs to explain this as well.
2011-02-02cso: refactor texture sampler and sampler view codeBrian Paul
This consolidates the code duplicated between the fragment sampler and vertex sampler functions. Plus, it'll make adding support for geometry shader samplers trivial.
2011-02-02cso: rename fragment sampler-related fieldsBrian Paul
To better distinguish from vertex sampler fields.
2011-02-02cso: fix loop bound in cso_set_vertex_samplers()Brian Paul
Before we were looping to nr_samplers, which is the number of fragment samplers, not vertex samplers. NOTE: This is a candidate for the 7.9 and 7.10 branches.
2010-07-21cso: handle depth clampMarek Olšák
2010-07-02gallium/cso: check for set_vertex_sampler_views != NULL before calling itBrian Paul
Not all drivers implement this method. Fixes regression reported by Chris Rankin and bug 28889.
2010-07-01gallium/cso: unbind sampler views in cso_release_all()Brian Paul
2010-05-04Merge commit 'origin/master' into gallium-msaaRoland Scheidegger
2010-05-03cso: use framebuffer utility functionsBrian Paul
2010-04-30Merge commit 'origin/master' into gallium-msaaRoland Scheidegger
2010-04-29cso: remove commented-out code, update function docsBrian Paul
2010-04-27gallium: fix glaring bugs in last commitRoland Scheidegger
2010-04-26gallium: interface changes for multisamplingRoland Scheidegger
add function to set sample mask, and state for alpha-to-coverage and alpha-to-one. Also make it possible to query for supported sample count with is_msaa_supported(). Use explicit resource_resolve() to resolve a resource. Note that it is illegal to bind a unresolved resource as a sampler view, must be resolved first (as per d3d10 and OGL APIs, binding unresolved resource would mean that special texture fetch functions need to be used which give explicit control over what samples to fetch, which isn't supported yet). Also change surface_fill() and surface_copy() to operate directly on resources. Blits should operate directly on resources, most often state trackers just used get_tex_surface() then did a blit. Note this also means the blit bind flags are gone, if a driver implements this functionality it is expected to handle it for all resources having depth_stencil/render_target/sampler_view bind flags (might even require it for all bind flags?). Might want to introduce quality levels for MSAA later. Might need to revisit this for hw which does instant resolve.
2010-04-24cso_cache: Ensure irrelevant state of the blend state is zeroed.José Fonseca
Otherwise drivers that bake the full blend state in a key end up having uninitialized memory in their key. Courtesy of valgrind.
2010-03-22cso: Remove unnecessary header.Vinson Lee
2010-03-19cso: remove cso_set/save/restore_sampler_texturesRoland Scheidegger
no longer used after all statetrackers have been converted.
2010-03-15cso: Do not hold references to bound textures.Keith Whitwell
Sampler views already hold references to those.
2010-03-12cso: Remove set/save/restore_vertex_sampler_textures().Michal Krol
2010-03-12cso: Add entry points for vertex/fragment sampler views.Michal Krol
2010-03-10Merge branch 'master' into gallium-sampler-viewMichal Krol
Conflicts: src/gallium/auxiliary/Makefile src/gallium/auxiliary/SConscript src/gallium/auxiliary/tgsi/tgsi_exec.c src/gallium/auxiliary/util/u_blitter.c src/gallium/drivers/i915/i915_context.h src/gallium/drivers/i965/brw_context.h src/gallium/drivers/llvmpipe/lp_context.h src/gallium/drivers/nv50/nv50_context.h src/gallium/drivers/nv50/nv50_state_validate.c src/gallium/drivers/nv50/nv50_tex.c src/gallium/drivers/r300/r300_blit.c src/gallium/drivers/r300/r300_context.h src/gallium/drivers/r300/r300_emit.c src/gallium/drivers/r300/r300_state.c src/gallium/drivers/softpipe/sp_context.h src/gallium/drivers/svga/svga_context.h src/gallium/drivers/svga/svga_pipe_sampler.c
2010-03-09cso: don't forget to release vertex elements stateRoland Scheidegger
2010-03-09cso: Fix typo in assert.Corbin Simpson
2010-03-09Merge branch 'gallium-vertexelementcso'Roland Scheidegger
Conflicts: src/gallium/auxiliary/cso_cache/cso_context.c src/gallium/auxiliary/util/u_blit.c src/gallium/auxiliary/util/u_gen_mipmap.c src/gallium/drivers/i915/i915_context.h src/gallium/drivers/i965/brw_draw_upload.c src/gallium/drivers/r300/r300_blit.c src/gallium/drivers/r300/r300_context.h src/gallium/drivers/r300/r300_render.c src/gallium/drivers/r300/r300_state_derived.c src/mesa/state_tracker/st_cb_bitmap.c src/mesa/state_tracker/st_cb_clear.c
2010-03-09auxiliary: fix vertex elements csoRoland Scheidegger
potentially could have got a match even though the cso was different (in case of different count and first few elements the same).
2010-02-24cso: Track clip state with cso context.Michal Krol
2010-02-18gallium: use cso state handling for pipe_vertex_element stateRoland Scheidegger
2010-02-11gallium: give pipe_stencil_ref its own cso_save/restore functionsRoland Scheidegger
seems cleaner, and other dynamic state like viewport is handled that way too
2010-02-11gallium: also save/restore stencil_ref in cso_save/restore_depth_stencil_alphaRoland Scheidegger
makes life of state trackers easier
2010-02-09gallium: don't put stencil ref value in pipe_depth_stencil_alpha_stateRoland Scheidegger
This will make driver's life a bit harder, however it makes sense that stencil reference value is not part of the pipe_depth_stencil_alpha_state, because it often (there are some algorithms which require this) changes more frequently than the rest of the dsa state. This is also encouraged by some graphic APIs. Treat it similar to pipe_blend_color.
2010-02-02gallium: pipe/p_inlines.h -> util/u_inlines.hJosé Fonseca
2010-01-30gallium: fix blend state csoRoland Scheidegger
if independent blend state was disabled, only the data from first rt was stored, however the comparison used the full state, hence there never was a match and always a new object was created. Fixes a huge performance drop with llvmpipe due to recompilation.
2010-01-25gallium: fix cast for size calc of pipe_blend_stateRoland Scheidegger
2010-01-20gallium: prepare for per-rendertarget blend enables, writemasks, blend funcsRoland Scheidegger
GL 3.0 (EXT_draw_buffers2) and other APIs allow independent blend enables and write masks per render target, ARB_draw_buffers_blend (and other APIs) also allow independent blend functions. Things like dithering, logic ops however are not extended to be per rendertarget, that might be conceptually possible however it doesn't look like any API wants to expose this.
2010-01-18cso: Add set_vertex_samplers functionJakob Bornecrantz
2010-01-01gallium: Generate a single library for auxiliaries with Make too.José Fonseca
2010-01-01scons: Aggregate all tiny libraries in a single library.José Fonseca
Makes integration of gallium into out of tree components much easier. No pratical change for components in this tree,
2009-12-25gallium: add geometry shader support to galliumZack Rusin
2010-02-19gallium: WIP: Introduce sampler views.Michal Krol
2009-12-02cso: check if pipe_context::bind_vertex_sampler_states is non-nullBrian Paul
Fixes segfaults upon exit when the CSO module is releasing its objects.
2009-12-01cso: Fix function prototype.Michal Krol
2009-12-01cso: Add support for separate vertex sampler state.Michal Krol
2009-10-25gallium: Move enum pipe_error into p_defines.h.José Fonseca
It's really just another define. No need for its own header.
2009-10-02gallium: replace // comments with /* */Brian Paul
2009-07-06gallium: rearrange some members to avoid memory holes/paddingZack Rusin
plus it saves us a cacheline in the cso
2009-07-06cso: possible null pointer dereferenceZack Rusin
reported by clang static analyzer
2009-03-04gallium: Remove some superfluous instances of #include "p_inlines.h".Michel Dänzer
2009-02-20gallium: Improve makefiles for librariesJakob Bornecrantz
The template makefile that most libraries in gallium included was based on dri and had a bunch unrelevant junk in it. Update it and improve the depending makefiles.
2009-02-18util: Move p_debug.h into util module.José Fonseca
The debug functions depend on several util function for os abstractions, and these depend on debug functions, so a seperate module is not possible.
2009-01-27gallium: standardize api on the prefix "nr"Zack Rusin