summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* util: Optimise log2().Michal Krol2008-11-121-1/+2
|
* rtasm: Use INLINE keyword. Compile for all platforms, not only GALLIUM_CELL.Michal Krol2008-11-121-9/+5
|
* util: Add log2() definition for MSC.Michal Krol2008-11-121-0/+5
|
* tgsi: Fix a bug with saving/restoring xmm registers upon func call.Michal Krol2008-11-121-3/+3
|
* rtasm: Compile only for GALLIUM_CELL.Michal Krol2008-11-121-0/+4
|
* draw: Add missing include.Michal Krol2008-11-121-0/+1
|
* Merge commit 'origin/master' into gallium-0.2Brian Paul2008-11-1183-3445/+3703
|\ | | | | | | | | | | | | Conflicts: src/mesa/shader/prog_execute.c src/mesa/shader/slang/library/slang_vertex_builtin_gc.h
| * mesa: fix version check in dinoshade.cBrian Paul2008-11-111-1/+1
| |
| * mesa: allow relative indexing into all register files and indirect dst ↵Brian Paul2008-11-113-128/+128
| | | | | | | | register indexing
| * Don't mess with emacs tab width.Kristian Høgsberg2008-11-1143-43/+0
| |
| * intel: reset cliprect_mode to IGNORE_CLIPRECTS.Xiang, Haihao2008-11-111-1/+3
| | | | | | | | | | | | This ensures all batchbuffers have a same cliprect mode after calling _intel_batchbuffer_flush even if there aren't invalid commands in the current batch buffer. (fix bug#18362).
| * mesa: restore the negate flag of dots in build_lighting.Xiang, Haihao2008-11-111-0/+3
| | | | | | | | | | Dots is re-used if more than one light is enabled. Previously the negate flag of dots may affect next light.
| * mesa: update new state for RasterPos like other operations.Xiang, Haihao2008-11-111-3/+3
| | | | | | | | This fixes a lighting issue when drawing a bitmap.
| * mesa: new _mesa_is_pow_two() functionBrian2008-11-105-23/+33
| |
| * mesa: restore glapi/ prefix on #includeBrian Paul2008-11-102-2/+2
| |
| * mesa: fix some misc breakage caused by editing auto-generated files rather ↵Brian Paul2008-11-104-9/+21
| | | | | | | | | | | | | | | | than the python generators Specifically: #include "glapitable.h" in src/mesa/main/glapi/dispatch.h Call _mesa_bsearch() in src/mesa/main/enums.c.
| * GLX: fix out-of-bounds memory issue in indirect glAreTexturesResident()Brian Paul2008-11-106-165/+141
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | See bug 18445. When getting array results, __glXReadReply() always reads a multiple of four bytes. This can cause writing to invalid memory when 'n' is not a multiple of four. Special-case the glAreTexturesResident() functions now. To fix the bug, we use a temporary buffer that's a multiple of four bytes in length. NOTE: this commit also reverts part of commit 919ec22ecf72aa163e1b97d8c7381002131ed32c (glx/x11: Added some #ifdef GLX_DIRECT_RENDERING protection) which directly edited the indirect.c file rather than the python generator! I'm not repairing that issue at this time.
| * dri: alloc __DRIscreen object with calloc()Brian Paul2008-11-101-1/+1
| |
| * mesa: track initialization status of uniform variables. Plus, asst clean-ups.Brian Paul2008-11-107-31/+52
| |
| * mesa: initial support for uniform variable initializers.Brian Paul2008-11-101-5/+22
| | | | | | | | | | This lets one specify initial values for uniforms in the code, avoiding the need to call glUniform() in some cases.
| * mesa: fix logic error in GLSL linker when looking for main() shadersBrian Paul2008-11-101-5/+10
| |
| * mesa: allows 'f' suffix on GLSL float literalsBrian Paul2008-11-102-6/+16
| |
| * undo accidental changes to multitex.frag shaderBrian Paul2008-11-101-22/+2
| |
| * mesa: remove OPCODE_INT #defineBrian2008-11-081-3/+0
| |
| * mesa: use NRM3 in emit_normalize_vec3() when drivers are readyBrian2008-11-081-0/+5
| |
| * mesa: add support for 'centroid' qualifier in GLSL 1.20Brian Paul2008-11-0711-2598/+2706
| |
| * mesa: add support for 'invariant' keyword for GLSL 1.20Brian Paul2008-11-0711-2609/+2749
| |
| * mesa: reformat comments, rewrap lines, etc for a little better readabilityBrian Paul2008-11-072-402/+418
| |
* | cell: implement NRM3 opcodeBrian Paul2008-11-111-0/+48
| |
* | CELL: two-sided stencil fixesRobert Ellison2008-11-1112-208/+115
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With these changes, the tests/stencil_twoside test now works. - Eliminate blending from the stencil_twoside test, as it produces an unneeded dependency on having blending working - The spe_splat() function will now work if the register being splatted and the destination register are the same - Separate fragment code generated for front-facing and back-facing fragments. Often these are the same; if two-sided stenciling is on, they can be different. This is easier and faster than generating code that does both tests and merges the results. - Fixed a cut/paste bug where if the back Z-pass stencil operation were different from all the other operations, the back Z-fail results were incorrect.
* | Merge commit 'origin/gallium-0.1' into gallium-0.2Brian Paul2008-11-103-3/+5
|\ \ | | | | | | | | | | | | | | | Conflicts: src/gallium/auxiliary/util/u_math.c
| * | Mesa: fix number of buffers in st_draw_vbo().Pekka Paalanen2008-11-101-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]>
| * | gallium: fix typos in commentsBrian Paul2008-11-101-2/+2
| | |
| * | gallium: actually flip the coordinatesZack Rusin2008-11-101-1/+2
| | |
| * | util: Fix util_fast_pow/exp2/log2.Brian2008-11-092-69/+64
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Use a lookup table for log2. - Compute (float) (1 << ipart) by tweaking with the exponent directly to avoid integer overflow and float conversion. - Also table negative exponents to avoid float division and branching. - Implement util_fast_exp as function of util_fast_exp2. -------- Cherry-picked from gallium-0.2: 8415d06d90a197e16554dab98d160334fd9f9f93 This fixes some pow() glitches seen in fslight.c, spectex.c, etc. Conflicts: src/gallium/auxiliary/util/u_math.h
| * | gallium: _debug_vprintf() should be silent if DEBUG is not definedBrian2008-11-091-0/+2
| | |
| * | mesa: use _bfc0 instead of _col0 when building back face lighting.Brian Paul2008-11-071-3/+2
| | | | | | | | | | | | cherry-picked from master: 4550b0562d5b59890fccb0e7eb0dbef967d1ccf9
* | | 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)