summaryrefslogtreecommitdiff
path: root/src/gallium/auxiliary/draw/draw_vs_exec.c
AgeCommit message (Collapse)Author
2010-07-29gallium: implement bounds checking for constant buffersBrian Paul
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.
2010-04-28draw: put 'create' in the vs varient create function namesBrian Paul
2010-01-28gallium: Rename PIPE_MAX_CONSTANT to PIPE_MAX_CONSTANT_BUFFERS.Michal Krol
2010-01-28gallium: Enable multiple constant buffers for vertex and geometry shaders.Michal Krol
2010-01-28gallium: Implement 2D constant buffers for fragment shader in softpipe.Michal Krol
2009-07-16gallium: reduce recursive include of tgsi_exec.hKeith Whitwell
A lot of draw code no longer needs to see this header.
2009-07-16gallium: proper constructor and destructor for tgsi_exec_machineKeith Whitwell
Centralize the creation, initialization and destruction of this struct. Use align_malloc instead of home-brew alternatives.
2009-05-01draw: added some inf/nan debug code (disabled)Brian Paul
2009-03-31draw: added Nan/Inf assertion in debug codeBrian Paul
2008-12-04gallium: added draw_texture_samplers() to support texture fetches from ↵Brian
vertex shaders This may only be practical for the softpipe driver at this time.
2008-11-05Merge commit 'origin/gallium-0.1' into gallium-0.2Brian Paul
Conflicts: src/gallium/auxiliary/rtasm/rtasm_execmem.c src/mesa/shader/slang/slang_emit.c src/mesa/shader/slang/slang_log.c src/mesa/state_tracker/st_atom_framebuffer.c
2008-11-05gallium: call tgsi_set_exec_mask() and use exec mask in SSE ARL codeBrian Paul
This prevents vertex shaders from referencing invalid memory locations when the shader is operating on less than four vertices or fragments.
2008-10-15gallium: fix the test in vs_exec_prepare() to avoid redundant bindingsBrian Paul
Fixes regressions seen in progs/samples/prim.c, progs/demos/ray.c
2008-09-14draw: Silence compiler warnings on Windows.Michal Krol
2008-09-12gallium: avoid redundant tgsi_exec_machine_bind_shader() calls on draw exec pathBrian Paul
tgsi_exec_machine_bind_shader() isn't cheap so avoiding unecessary calls is a big win. A similar change should be done for softpipe's fragment exec path but extra care needs to be taken with the texture sampler state/params.
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-23draw: create specialized vs varients incorporating fetch & emitKeith Whitwell
2008-05-23draw: move some state into a new 'vs' areaKeith Whitwell
2008-05-17gallium: in drivers, make copy of tokens passed to pipe->create_vs/fs_state()Brian Paul
The caller can then free the token array immediately.
2008-04-18draw: remove old vertex_shader->run() functionsKeith Whitwell
2008-04-18draw: split off all the extra functionality in the vertex shaderKeith Whitwell
This will at least allow us to make the initial gains to get decent vertex performance much more quickly & with higher confidence of getting it right. At some later point can look again at code-generating all the fetch/cliptest/viewport extras in the same block as the vertex shader. For now, just need to get some decent baseline performance.
2008-04-17draw: add vertex shader run_linear functionKeith Whitwell
2008-04-14pass vertex size to shaders so that callee can decide on the sizeZack Rusin
of the vertices and not always have to use the maximum vertex allocation size for them
2008-04-14draw: move vertex header init out of fetch_shade_pipeline.cKeith Whitwell
2008-04-14Make shaders operate on a block of memory instead of arrays of vertex_header'sZack Rusin
2008-04-14return true if one of the vertices has been clippedZack Rusin
2008-04-14pass arbitrary number of vertices to the shader execution cycleZack Rusin
2008-04-12gallium: move duplicated compute_clipmask() code to draw_vs.hBrian
2008-04-01draw: associate rhw divide with clipping not viewport flagKeith Whitwell
2008-03-31gallium: move the test for bypass_vs into the vs_XXX_run() functionsBrian
Also: 1. Added an identity_viewport flag to skip viewport transformation when it has no effect. Might also add an explicit bypass_viewport flag someday. 2. Separate the code for computing clip codes and doing the viewport transform. Predicate them separately. Note: even if bypass_vs is set, we still look at the shader to determine the number of inputs and outputs.
2008-03-27gallium: replace PIPE_ATTRIB_MAX with PIPE_MAX_ATTRIBSBrian
The later follows the naming scheme of other limits. Keep the old definition until all possible usage is updated.
2008-03-24gallium: make a copy of the vertex shader's token array.Brian
This solves problems when the state tracker frees the token array when the draw module still needs it.
2008-03-14gallium: added some debug code (disabled)Brian
2008-03-12gallium: change draw_vertex_shader->state from pointer to structBrian
We were sometimes keeping a pointer to a stack-allocated object. Now make a copy of the pipe_shader_state object. This should fix some seemingly random memory errors/crashes.
2008-03-04draw: dont' compute clipmask or apply viewport when not clipping (rename ↵Keith Whitwell
bypass_clipping to coords_in_window_space?
2008-02-27gallium: remove dependencies on pipe_shader_state's semantic infoBrian
Use tgsi_scan_shader() to populate a tgsi_shader_info struct and use that instead.
2008-02-15draw: subclass vertex shaders according to execution methodKeith Whitwell
Create new files for shaders compiled/executed with llvm, sse, exec respectively