summaryrefslogtreecommitdiff
path: root/src/gallium/auxiliary/draw/draw_vs_sse.c
AgeCommit message (Collapse)Author
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
2009-07-20tgsi: get texturing working in vertex shader sse2 pathKeith Whitwell
Missing file from previous commit.
2009-07-16tgsi: reduce x86 reg usage in tgsi_sse generated programsKeith Whitwell
Pass the tgsi_exec_machine struct in directly and just hold a single pointer to this struct, rather than keeping one for each of its internal members.
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.
2008-11-09gallium: use PIPE_ARCH_SSE to protect use of SSE instrinsics onlyBrian
This allows us to use SSE codegen with debug builds again. When PIPE_ARCH_SSE is set (w/ gcc -msse -msse2) we will also use the gcc SSE intrinsic functions.
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-07gallium: Introduce PIPE_ARCH_SSE define for SSE support.José Fonseca
Besides meaning x86 and x86-64 architecture, it also depends on SSE2 support enabled on gcc. This fixes the linux-debug build.
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-06-04draw: init vsvg draw pointerKeith Whitwell
2008-06-02gallium: Replace XSTDCALL by PIPE_CDECL.José Fonseca
2008-05-31draw: Remove const qualifier.Michal Krol
2008-05-31draw: Eliminate stdio usage.José Fonseca
2008-05-30Merge branch 'gallium-tex-surfaces' into gallium-0.1Jakob Bornecrantz
Conflicts: src/gallium/drivers/i915simple/i915_context.h
2008-05-28draw: enable FSE by defaultKeith Whitwell
2008-05-28Merge branch 'gallium-vertex-linear' into gallium-0.1Jakob Bornecrantz
Conflicts: src/gallium/auxiliary/draw/draw_pt_varray.c
2008-05-28gallium: Windows CE portability fixes.José Fonseca
2008-05-23draw: add viewport to varient stateKeith Whitwell
2008-05-23draw: add aos vertex shader varientKeith Whitwell
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-23draw: remove disabled non-sse swizzle codeKeith Whitwell
2008-05-19if x86_get_func() returns NULL, handle it properly instead of abortingBrian Paul
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-05-01draw: label fn args -- shouldn't this be defined where the fn is created?Keith Whitwell
2008-05-01draw: turn on SSE swizzle codeKeith Whitwell
2008-04-28gallium: Set SSE_SWIZZLES to 0 by default.Michal Krol
2008-04-28gallium: Generate SSE code to swizzle and unswizzle vs inputs and outputs.Michal Krol
Change SSE_SWIZZLES #define to 0 to disable it.
2008-04-21gallium: Centralize SSE usage logic.José Fonseca
2008-04-18draw: remove draw_vertex_fetch.cKeith Whitwell
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-11gallium: handle TGSI immediates in SSE code for vertex shadersBrian Paul
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-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-10gallium: use the same bypass_clipping logic on all vs pathsKeith Whitwell