Brian Paul
7b1d08738f
cell: turn on PPC assembly vertex transform
gears runs with it now (3x faster FPS than before).
17 anni fa
Brian Paul
ba4faef7c0
gallium: temporarily disable PPC vertex shader until more things run
17 anni fa
Brian Paul
b7da4c3dc1
gallium: PPC vertex shader support
Works, but dead code lingering, debug code present, etc.
17 anni fa
Brian Paul
05a8f203cd
gallium: fix the test in vs_exec_prepare() to avoid redundant bindings
Fixes regressions seen in progs/samples/prim.c, progs/demos/ray.c
17 anni fa
Keith Whitwell
13f46fa1b9
draw: don't assume output buffer pointer is aligned
(cherry picked from commit 23cc303994
)
17 anni fa
Alan Hourihane
ca5224945a
gallium: silence warning
17 anni fa
Keith Whitwell
23cc303994
draw: don't assume output buffer pointer is aligned
17 anni fa
Keith Whitwell
c48da7d78b
draw: add switch for drivers to force vertex data passthrough
17 anni fa
José Fonseca
4d7394f892
gallium: Introduce PIPE_ARCH_SSE define for SSE support.
Besides meaning x86 and x86-64 architecture, it also depends on SSE2
support enabled on gcc.
This fixes the linux-debug build.
17 anni fa
Michal Krol
9b82701813
draw: Fix compiler errors on Windows.
17 anni fa
Keith Whitwell
53d4706c6c
make draw's vertex_info struct smaller/quicker to compare with memcmp()
17 anni fa
Keith Whitwell
22eb067c88
draw: modify prefetching slightly
17 anni fa
Keith Whitwell
21f98ad30a
draw: don't keep refetching constant inputs
17 anni fa
Keith Whitwell
a15699c3f5
draw: add streamlined paths for fetching linear verts
17 anni fa
Stephane Marchesin
3f477e111a
Gallivm: make it compile again, add some opcodes.
17 anni fa
Keith Whitwell
918a444913
draw: modify prefetching slightly
17 anni fa
Keith Whitwell
af9cfea9cc
draw: don't keep refetching constant inputs
17 anni fa
Keith Whitwell
dd7e5a4980
draw: add streamlined paths for fetching linear verts
17 anni fa
Stephane Marchesin
ab74b8e354
Gallivm: make it compile again, add some opcodes.
17 anni fa
Brian Paul
a06d38a74e
gallium: fix wide point / point coord semantic info (generic, not fog)
17 anni fa
Michal Krol
e852232ebf
draw: Silence compiler warnings on Windows.
17 anni fa
Brian Paul
9defef29c5
gallium: avoid redundant tgsi_exec_machine_bind_shader() calls on draw exec path
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.
17 anni fa
José Fonseca
82086f5d21
draw: Describe the steps in emit_load_R32G32B32A32.
17 anni fa
Brian Paul
feea0c9d95
gallium: fix out of bounds array errors in SSE execution
1. #define MAX_INPUTS/OUTPUTS/TEMPS/etc with better values.
2. Add assertions in aos_get_x86() to check register file indexes
3. Assert that constant regs haven't changed after running SSE code.
17 anni fa
José Fonseca
f4d707b40e
draw: Put INLINES where appropriate.
In the hope of MSVC inline some more functions, but without much result.
17 anni fa
Keith Whitwell
e6887a5752
draw: attempt atomic submit of large drawelements calls
17 anni fa
Brian
60ac76175b
gallium: added const qualifiers on some draw funcs
17 anni fa
Brian Paul
4f25420bdd
gallium: refactor/replace p_util.h with util/u_memory.h and util/u_math.h
Also, rename p_tile.[ch] to u_tile.[ch]
17 anni fa
Brian Paul
a13475ff00
gallium: replace align_int() with align()
The two functions are identical. Removed align_int() from p_util.h
17 anni fa
Brian Paul
120270def7
gallium: stop using FABSF() macro
17 anni fa
Brian Paul
1c2ff4d9e6
gallium: use new util_fast_exp2(), _log2(), pow() functions
New code surrounded with #if FAST_MATH to allow comparing against original
code if we need to debug.
17 anni fa
Brian Paul
f6abdb2043
gallium: fix typo in LINE() macro (replace i+1 with i1 var)
We were sometimes referencing an invalid vertex.
Fixes progs/trivial/line-clip.c test among others.
17 anni fa
Brian Paul
63c0970dca
gallium: fix an assertion
17 anni fa
Michal Krol
0c8f4c25ff
draw: Use KIL instead of KILP.
17 anni fa
Brian Paul
22604727e4
gallium: emit sprite coords (gl_PointCoord)
17 anni fa
José Fonseca
c208a2c791
Merge tgsi/exec and tgsi/util directories.
17 anni fa
Stephane Marchesin
92d711e9e6
llvm: build fixes.
17 anni fa
Zack Rusin
d25709df1d
draw: remove some debug output
17 anni fa
Brian Paul
ba9e633902
gallium: fix trim() function bug when count < first
If the user called glDrawArrays(GL_TRIANGLES, count=1), trim() returned a
very large integer because of the unsigned arithmetic.
17 anni fa
Michel Dänzer
cc31eecbcb
gallium: Allow draw module to work on non-x86 platforms again.
17 anni fa
José Fonseca
4ddd659679
gallium: Drop pipe_texture->cpp and pipe_surface->cpp.
The chars-per-pixel concept falls apart with compressed and yuv images,
where more than one pixel are coded in a single data block.
17 anni fa
Keith Whitwell
e2c3f06e96
draw: fix non-i386 builds
17 anni fa
José Fonseca
aa816d114e
draw: Fix MSVC integer size conversion warning.
17 anni fa
Brian Paul
f140138558
gallium: additional fixes to ensure even number of vertices per buffer
17 anni fa
Brian Paul
7d7f3e2c94
gallium: split long prims into chunks with an even number of vertices
This fixes culling "parity" errors when splitting long tri strips. Splitting
strips into chunks with an odd number of vertices causes front/back-face
orientation to get reversed and upsets culling.
17 anni fa
Brian Paul
20ee00754d
gallium: disable the codegen for TGSI_OPCODE_EXPBASE2 for now.
The x86 code seems to fail for exponents of 4 or larger.
See glean's vertProg1/EX2 test.
17 anni fa
Keith Whitwell
08f1b8ac70
gallium: fix SSE codegen for instructions that use both a CONSTANT and IMMEDIATE
Fixes codegen for instructions like MUL dst, CONST[0], IMM[0]; the two operands
would up getting aliased in the x86/sse code.
Fixes glean/vertProg1/fogparams test.
17 anni fa
Keith Whitwell
2161b0fafc
draw: don't assume vertex position is in data[0]
17 anni fa
Keith Whitwell
807f8f177b
draw: preserve specular alpha when flatshading -- may be FOGC
17 anni fa
Keith Whitwell
bd92642100
draw: remove another debug assert on failover to generic vs varient
17 anni fa