summaryrefslogtreecommitdiff
path: root/src/gallium/auxiliary/cso_cache/cso_context.c
AgeCommit message (Collapse)Author
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
2008-04-21cso: disable not-really-working cso_set_*_shader() funcsKeith Whitwell
2008-04-21cso: provide functions to bind fs/vs handles directlyKeith Whitwell