summaryrefslogtreecommitdiff
path: root/src/gallium/auxiliary/cso_cache/cso_context.c
AgeCommit message (Collapse)Author
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
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: Add support for separate vertex sampler state.Michal Krol
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-03-04gallium: Remove some superfluous instances of #include "p_inlines.h".Michel Dänzer
2009-01-27gallium: standardize api on the prefix "nr"Zack Rusin
2008-09-18gallium: fix surface object memory leak in cso moduleBrian Paul
2008-09-17gallium: fix lack of surface reference counting in ↵Brian Paul
cso_set/save/restore_framebuffer() Fixes asst problems with FBO / render to texture.
2008-08-24gallium: refactor/replace p_util.h with util/u_memory.h and util/u_math.hBrian Paul
Also, rename p_tile.[ch] to u_tile.[ch]
2008-07-28Merge tgsi/exec and tgsi/util directories.José Fonseca
2008-05-25cso: use memcpy rather than structure asignment for copyingKeith Whitwell
Apparently gcc will omit to copy hidden padding bytes under some circumstances, which means later on memcmp() will indicate a difference between structs even though all the visible members are identical.
2008-05-08Merge branch 'gallium-0.1' into gallium-tex-surfacesMichel Dänzer
2008-05-08cso_cache: Fix test for currently bound blend state.Michel Dänzer
2008-05-02cso: can memcmp-compare pipe_framebuffer_state now it includes fb dimensionsKeith Whitwell
2008-04-30try to fix the deleting of the bound cso during cleanup of the hashZack Rusin
2008-04-24gallium: make cso_release_all() publicBrian Paul
2008-04-24gallium: minor clean-ups, commentsBrian Paul
2008-04-24gallium: tweak the new shader delete funcsBrian Paul
2008-04-24gallium: added cso_delete_vertex_fragment_shader() functionsBrian Paul
The state tracker now uses these functions to free shaders, rather than the pipe->delete_vs/fs-state() functions. Before, we could get in a situation where we free() a shader and happen to alloc() a new one at the same address. The cso_set_vertex/fragment_shader() function would no-op the state change since the pointers were the same. This led to problems elsewhere, of course. The new delete functions null-out the CSO's current shader pointers.
2008-04-24gallium: Fix texture refcount leak.José Fonseca
2008-04-22gallium: remove assertionsBrian Paul
It's possible the current vs/fs is null when cso_save_vertex/fragment_shader() is called.
2008-04-22cso: fix vs/fs confusionKeith Whitwell
2008-04-21make the api consistent (all set functions return pipe_error status)Zack Rusin
2008-04-21handle some of the possible allocation failures within the hash itselfZack Rusin
2008-04-21initial stab at error handling in csoZack Rusin