summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Merge commit 'origin/gallium-0.1' into gallium-0.2Pekka Paalanen2008-11-1222-4/+3308
|\ | | | | | | | | | | | | | | | | | | | | | | * commit 'origin/gallium-0.1': Mesa: fix number of buffers in st_draw_vbo(). Nouveau: fix nv20_vertex_layout() Nouveau: update nv20 miptree according to nv40. Nouveau: build, link and use nv20. Nouveau: name replace for nv20. Nouveau: Rename nv20/ files as nv20. Nouveau: copy nv30_vertprog.c to nv20. Nouveau: start nv20 by copying the nv10 tree.
| * Mesa: fix number of buffers in st_draw_vbo().Pekka Paalanen2008-11-091-1/+1
| | | | | | | | | | | | | | The clean-up call to pipe->set_vertex_buffers() should use the same number of buffers as the first call. Signed-off-by: Pekka Paalanen <[email protected]>
| * Nouveau: fix nv20_vertex_layout()Pekka Paalanen2008-11-091-7/+7
| | | | | | | | | | | | | | | | | | The function should update nv20->vertex_info, and not just a local struct that's thrown away immediately. Fixes a SIGFPE due to vbuf->vertex_size = 0 in vbuf_alloc_vertices(). Signed-off-by: Pekka Paalanen <[email protected]>
| * Nouveau: update nv20 miptree according to nv40.Pekka Paalanen2008-11-081-11/+18
| | | | | | | | | | | | glxinfo doesn't degfault anymore. Signed-off-by: Pekka Paalanen <[email protected]>
| * Nouveau: build, link and use nv20.Pekka Paalanen2008-11-085-3/+14
| | | | | | | | Signed-off-by: Pekka Paalanen <[email protected]>
| * Nouveau: name replace for nv20.Pekka Paalanen2008-11-0816-662/+662
| | | | | | | | | | | | | | | | | | | | | | | | No functional changes, only changed function, struct, macro etc. names. nv10 -> nv20 nv30 -> nv20 celsius -> kelvin Did not touch fifo command macros. Don't try to build nv20_vertprog.c for now. Signed-off-by: Pekka Paalanen <[email protected]>
| * Nouveau: Rename nv20/ files as nv20.Pekka Paalanen2008-11-0816-12/+13
| | | | | | | | Signed-off-by: Pekka Paalanen <[email protected]>
| * Nouveau: copy nv30_vertprog.c to nv20.Pekka Paalanen2008-11-081-0/+838
| | | | | | | | Signed-off-by: Pekka Paalanen <[email protected]>
| * Nouveau: start nv20 by copying the nv10 tree.Pekka Paalanen2008-11-0815-0/+2447
| | | | | | | | Signed-off-by: Pekka Paalanen <[email protected]>
* | nouveau: remove previous hack around x86_64 breakageBen Skeggs2008-11-101-2/+0
| | | | | | | | This hack now causes breakage *doh*. :)
* | nv40: init pipe_surface correctlyBen Skeggs2008-11-101-0/+2
| |
* | nouveau: pass object handle not pointer to GPU...Ben Skeggs2008-11-101-1/+1
| |
* | Merge remote branch 'origin/gallium-0.2' into gallium-0.2Ben Skeggs2008-11-10158-3768/+7643
|\ \
| * | gallium: use PIPE_ARCH_SSE to protect use of SSE instrinsics onlyBrian2008-11-093-11/+35
| | | | | | | | | | | | | | | | | | 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.
| * | gallium: implement SSE codegen for TGSI_OPCODE_NRM/NRM4Brian2008-11-081-1/+33
| | |
| * | gallium: added SSE for DP2, DP2ABrian Paul2008-11-071-2/+22
| | |
| * | gallium: implement TGSI_OPCODE_DP2A, add sqrt to NRM3/NRM4Brian Paul2008-11-071-3/+19
| | |
| * | Merge commit 'origin/master' into gallium-0.2Brian Paul2008-11-072-4/+4
| |\ \
| | * | mesa: forgot sqrt in NRM3/4 instructionsBrian Paul2008-11-071-2/+2
| | | |
| | * | mesa: fix opcode table order bugBrian Paul2008-11-071-2/+2
| | | |
| * | | CELL: fix several stencil problemsRobert Ellison2008-11-073-88/+80
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This small set of changes repairs several different stenciling problems; now redbook/stencil also runs correctly (and maybe others - I haven't checked everything yet). - The number of instructions that had been allocated for fragment ops used to be 64 (in cell/common.h). With complicated stencil use, we managed to get up to 93, which caused a segfault before we noticed we'd overran our memory buffer. It's now been bumped to 128, which should be enough for even complicated stencil and fragment op usage. - The status of cell surfaces never changed beyond the initial PIPE_SURFACE_STATUS_UNDEFINED. When a user called glClear() to clear just the Z buffer (but not the stencil buffer), this caused the check_clear_depth_with_quad() function to return false (because the surface status was believed to be undefined), and so the device was instructed to clear the whole buffer (including the stencil buffer), instead of correctly using a quad to clear just the depth, leaving the stencil alone. This has been fixed similarly to the way the i915 driver handles the surface status: during cell_clear_surface(), the status is set to PIPE_SURFACE_STATUS_DEFINED. Then a partial buffer clear is handled with a quad, as expected. Note that we are *not* using PIPE_SURFACE_STATUS_CLEAR (also similar to the i915); technically, we should be setting the surface status to CLEAR on a clear, and to DEFINED when we actually draw something (say on cell_vbuf_draw()), but it's difficult to figure out exactly which surfaces are affected by a cell_vbuf_draw(), so for now we're doing the easy thing. - The fragment ops handling was very clever about only pulling out the parts of the Z/stencil buffer that it needed for calculations; but this failed when only part of the buffer was written, because the part that was never pulled out was inadvertently cleared. Now all the data from the combined Z/stencil buffer is pulled out, just so the proper values can be recombined later and written back to the buffer correctly. As a bonus, the fragment op code generation is simplified.
| * | | Merge commit 'origin/gallium-0.1' into gallium-0.2Brian Paul2008-11-071-1/+58
| |\ \ \
| | * | | gallium: implement TGSI_OPCODE_NRM/NRM4 in tgsi_exec.cBrian2008-11-061-1/+58
| | | | |
| * | | | gallium: translate DP2, DP2A, NRM3, NRM4, SSG opcodesBrian Paul2008-11-071-0/+15
| | | | |
| * | | | Merge commit 'origin/master' into gallium-0.2Brian Paul2008-11-078-31/+297
| |\ \ \ \ | | | |/ / | | |/| |
| | * | | mesa: add GLSL support for DP2, NRM3, NRM4 instructions (not actually ↵Brian Paul2008-11-074-3/+18
| | | | | | | | | | | | | | | | | | | | emitted yet though)
| | * | | mesa: added DP2, DP2A instructionsBrian Paul2008-11-073-2/+32
| | | | |
| | * | | mesa: added AND/OR/NOT/XOR instructionsBrian Paul2008-11-073-23/+199
| | | | |
| | * | | mesa: include shader/prog_instruction.hBrian Paul2008-11-071-0/+1
| | | | | | | | | | | | | | | | | | | | Seems to fix a mysteriously missing build dependency.
| | * | | mesa: added OPCODE_NRM3/NRM4 instructions for vector normalization.Brian Paul2008-11-073-0/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We may emit these instructions from GLSL instead of DP3/RCP/MUL. Also, implement SSG (set sign) instruction in the interpreter.
| | * | | mesa: use _bfc0 instead of _col0 when building back face lighting.Xiang, Haihao2008-11-071-3/+2
| | | | |
| * | | | gallium: s/OPCODE_INT/OPCODE_TRUNC/Brian Paul2008-11-061-2/+2
| | | | |
| * | | | Merge commit 'origin/master' into gallium-0.2Brian Paul2008-11-067-29/+360
| |\| | |
| | * | | mesa: rename OPCODE_INT -> OPCODE_TRUNCBrian Paul2008-11-065-18/+21
| | | | | | | | | | | | | | | | | | | | Trunc is a more accurate description; there's no type conversion involved.
| | * | | mesa: update the shader programs->TexturesUsed array at link timeBrian Paul2008-11-063-4/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If an application never calls glUniform() to set sampler variable values they'll remain 0 (the default value/unit). Now call _mesa_update_shader_textures_used() at link time in case glUniform() is never called. program->TextureUsed[] will then be correct for state validation.
| | * | | i965: Always check vertex program.Xiang, Haihao2008-11-061-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now i965 also uses the vertex program created by Mesa Core, but this vertex program is not only depend on mesa state _NEW_PROGRAM, so always check the current vertex program is updated or not. This fixes broken demo cubemap.
| | * | | i965: Implement missing OPCODE_NOISE3 instruction in fragment shaders.Gary Wong2008-11-052-10/+335
| | | | | | | | | | | | | | | | | | | | OPCODE_NOISE4 coming later.
| | * | | mesa: Fix compiler warnings on Windows.Brian Paul2008-11-051-1/+1
| | | | | | | | | | | | | | | | | | | | cherry-picked subset of a77976d2ee578d0483c64f2aa41719bbae9c1c97
| | * | | mesa: fix a GLSL array indexing codegen bugBrian Paul2008-11-052-8/+101
| | | | | | | | | | | | | | | | | | | | Expressions like array[i] + array[j] didn't work properly before.
| | * | | mesa: remove extra \n from printf stringBrian Paul2008-11-051-1/+1
| | | | |
| | * | | mesa: add Initialized field to gl_uniform struct, for debugging purposes onlyBrian Paul2008-11-053-7/+16
| | | | |
| * | | | Merge commit 'origin/gallium-0.1' into gallium-0.2Brian Paul2008-11-069-9/+175
| |\ \ \ \ | | | |/ / | | |/| |
| | * | | mesa: update the shader programs->TexturesUsed array at link timeBrian Paul2008-11-063-4/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If an application never calls glUniform() to set sampler variable values they'll remain 0 (the default value/unit). Now call _mesa_update_shader_textures_used() at link time in case glUniform() is never called. program->TextureUsed[] will then be correct for state validation.
| | * | | gallium: added st_print_shaders() function to help w/ debuggingBrian Paul2008-11-062-0/+20
| | | | |
| | * | | gallium: debug code to print vertex array data (disabled)Brian Paul2008-11-061-0/+89
| | | | |
| | * | | softpipe: debug code (disabled)Brian Paul2008-11-061-0/+8
| | | | |
| | * | | gallium: check execution mask in indirect register loadsBrian2008-11-051-0/+23
| | | | | | | | | | | | | | | | | | | | | | | | | Zero-out the index for disabled execution channels to avoid using potential garbage values (thus avoiding bad array indexing).
| | * | | gallium: don't range check tgsi register index for indirect accessesBrian2008-11-051-5/+9
| | | | | | | | | | | | | | | | | | | | Fixes progs/vp/arl.txt test.
| * | | | gallium: actually flip the coordinatesZack Rusin2008-11-061-1/+2
| | | | |
| * | | | cell: minor reformatting, var renamingBrian Paul2008-11-051-7/+11
| | | | |