aboutsummaryrefslogtreecommitdiffstats
path: root/src/gallium/auxiliary/draw/draw_vs_exec.c
Commit message (Collapse)AuthorAgeFilesLines
* gallium: reduce recursive include of tgsi_exec.hKeith Whitwell2009-07-161-0/+1
| | | | A lot of draw code no longer needs to see this header.
* gallium: proper constructor and destructor for tgsi_exec_machineKeith Whitwell2009-07-161-1/+1
| | | | | Centralize the creation, initialization and destruction of this struct. Use align_malloc instead of home-brew alternatives.
* draw: added some inf/nan debug code (disabled)Brian Paul2009-05-011-0/+6
|
* draw: added Nan/Inf assertion in debug codeBrian Paul2009-03-311-0/+1
|
* gallium: added draw_texture_samplers() to support texture fetches from ↵Brian2008-12-041-2/+2
| | | | | | vertex shaders This may only be practical for the softpipe driver at this time.
* Merge commit 'origin/gallium-0.1' into gallium-0.2Brian Paul2008-11-051-0/+6
|\ | | | | | | | | | | | | | | | | 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
| * gallium: call tgsi_set_exec_mask() and use exec mask in SSE ARL codeBrian Paul2008-11-051-0/+6
| | | | | | | | | | This prevents vertex shaders from referencing invalid memory locations when the shader is operating on less than four vertices or fragments.
* | gallium: fix the test in vs_exec_prepare() to avoid redundant bindingsBrian Paul2008-10-151-3/+1
| | | | | | | | Fixes regressions seen in progs/samples/prim.c, progs/demos/ray.c
* | draw: Silence compiler warnings on Windows.Michal Krol2008-09-141-1/+1
| |
* | gallium: avoid redundant tgsi_exec_machine_bind_shader() calls on draw exec pathBrian Paul2008-09-121-6/+11
|/ | | | | | | 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.
* gallium: refactor/replace p_util.h with util/u_memory.h and util/u_math.hBrian Paul2008-08-241-1/+2
| | | | Also, rename p_tile.[ch] to u_tile.[ch]
* Merge tgsi/exec and tgsi/util directories.José Fonseca2008-07-281-2/+2
|
* draw: create specialized vs varients incorporating fetch & emitKeith Whitwell2008-05-231-0/+2
|
* draw: move some state into a new 'vs' areaKeith Whitwell2008-05-231-1/+1
|
* gallium: in drivers, make copy of tokens passed to pipe->create_vs/fs_state()Brian Paul2008-05-171-4/+7
| | | | The caller can then free the token array immediately.
* draw: remove old vertex_shader->run() functionsKeith Whitwell2008-04-181-137/+0
|
* draw: split off all the extra functionality in the vertex shaderKeith Whitwell2008-04-181-21/+61
| | | | | | | | | | 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.
* draw: add vertex shader run_linear functionKeith Whitwell2008-04-171-10/+85
|
* pass vertex size to shaders so that callee can decide on the sizeZack Rusin2008-04-141-2/+3
| | | | | of the vertices and not always have to use the maximum vertex allocation size for them
* draw: move vertex header init out of fetch_shade_pipeline.cKeith Whitwell2008-04-141-0/+1
|
* Make shaders operate on a block of memory instead of arrays of vertex_header'sZack Rusin2008-04-141-26/+28
|
* return true if one of the vertices has been clippedZack Rusin2008-04-141-1/+4
|
* pass arbitrary number of vertices to the shader execution cycleZack Rusin2008-04-141-71/+73
|
* gallium: move duplicated compute_clipmask() code to draw_vs.hBrian2008-04-121-26/+0
|
* draw: associate rhw divide with clipping not viewport flagKeith Whitwell2008-04-011-6/+6
|
* gallium: move the test for bypass_vs into the vs_XXX_run() functionsBrian2008-03-311-7/+17
| | | | | | | | | | 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.
* gallium: replace PIPE_ATTRIB_MAX with PIPE_MAX_ATTRIBSBrian2008-03-271-2/+2
| | | | | The later follows the naming scheme of other limits. Keep the old definition until all possible usage is updated.
* gallium: make a copy of the vertex shader's token array.Brian2008-03-241-1/+6
| | | | | This solves problems when the state tracker frees the token array when the draw module still needs it.
* gallium: added some debug code (disabled)Brian2008-03-141-0/+13
|
* gallium: change draw_vertex_shader->state from pointer to structBrian2008-03-121-2/+2
| | | | | | 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.
* draw: dont' compute clipmask or apply viewport when not clipping (rename ↵Keith Whitwell2008-03-041-14/+24
| | | | bypass_clipping to coords_in_window_space?
* gallium: remove dependencies on pipe_shader_state's semantic infoBrian2008-02-271-1/+1
| | | | Use tgsi_scan_shader() to populate a tgsi_shader_info struct and use that instead.
* draw: subclass vertex shaders according to execution methodKeith Whitwell2008-02-151-0/+186
Create new files for shaders compiled/executed with llvm, sse, exec respectively