Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | mesa: fix transform_points_3d_no_rot using undefined values in %xmm0 | Arthur HUILLET | 2009-06-30 | 2 | -0/+2 |
| | | | | Signed-off-by: Arthur HUILLET <[email protected]> | ||||
* | glx: plug a leak | Kristof Ralovich | 2009-06-30 | 1 | -0/+2 |
| | | | | | | | | | Swrast was missing a free for the culmination of driConcatConfigs. Use free(), not _mesa_free() since we shouldn't be calling any Mesa functions from the GLX code. driConcatConfigs() should probably use regular malloc/free to be consistant but the Mesa functions just wrap the libc functions anyway. | ||||
* | glx: fix null pointer dereference segfault (bug 22546) | Brian Paul | 2009-06-30 | 1 | -1/+1 |
| | |||||
* | mesa: Set FLUSH_EXPLICIT_BIT flags when calling FlushMappedBufferRange. | José Fonseca | 2009-06-30 | 2 | -9/+22 |
| | | | | As prescribed by ARB_map_buffer_range. | ||||
* | util: Set PIPE_BUFFER_USAGE_FLUSH_EXPLICIT when calling ↵ | José Fonseca | 2009-06-30 | 1 | -1/+3 |
| | | | | buffer_flush_mapped_range. | ||||
* | gallium: New PIPE_BUFFER_USAGE_FLUSH_EXPLICIT flag for ↵ | José Fonseca | 2009-06-30 | 3 | -7/+18 |
| | | | | | | | | | | | | | | | | buffer_flush_mapped_range. When a buffer was mapped for write and no explicit flush range was provided the existing semantics were that the whole buffer would be flushed, mostly for backwards compatability with non map-buffer-range aware code. However if the buffer was mapped/unmapped with nothing really written -- something that often happens with the vbo -- we were unnecessarily assuming that the whole buffer was written. The new PIPE_BUFFER_USAGE_FLUSH_EXPLICIT flag (based from ARB_map_buffer_range 's GL_MAP_FLUSH_EXPLICIT_BIT flag) allows to clearly distinguish the legacy usage from the nothing written usage. | ||||
* | intel: added null ptr check | Brian Paul | 2009-06-29 | 1 | -1/+1 |
| | | | | This fixes a segfault seen with piglit's fdo20701 test. | ||||
* | glsl: check number of varying variables against the limit | Brian Paul | 2009-06-26 | 1 | -4/+9 |
| | | | | | | Link fails if too many varying vars. (cherry picked from master, commit cc58fbcf2c5c88f406818db60910f537e03610d6) | ||||
* | mesa: raise MAX_VARYING (number of shader varying vars) to 16 | Brian Paul | 2009-06-26 | 1 | -1/+1 |
| | | | | | | 16 is the limit for now because of various 32-bit bitfields. (cherry picked from master, commit 4e762395ef7e8c332c16fd0c11025cfa52763a45) | ||||
* | intel / DRI2: Additional flush of fake front-buffer to real front-buffer | Ian Romanick | 2009-06-26 | 1 | -0/+11 |
| | | | | | | | | | | | To maintain correctness, the server will copy the real front-buffer to a newly allocated fake front-buffer in DRI2GetBuffersWithFormat. However, if the DRI2GetBuffersWithFormat is triggered by glViewport, this will copy stale data into the new buffer. Fix this by flushing the current fake front-buffer to the real front-buffer in intel_viewport. Fixes bug #22288. | ||||
* | mesa: bump version to 7.5-rc4 | Brian Paul | 2009-06-26 | 1 | -1/+1 |
| | |||||
* | cell: PIPE_CAP_TGSI_CONT_SUPPORTED query | Brian Paul | 2009-06-26 | 1 | -0/+2 |
| | |||||
* | softpipe: PIPE_CAP_TGSI_CONT_SUPPORTED query | Brian Paul | 2009-06-26 | 1 | -0/+2 |
| | |||||
* | gallium: added PIPE_CAP_TGSI_CONT_SUPPORTED | Brian Paul | 2009-06-26 | 1 | -0/+1 |
| | |||||
* | glsl: move/simplify error checking for 'return' statements | Brian Paul | 2009-06-26 | 1 | -22/+14 |
| | |||||
* | glsl: overhaul 'return' statement handling | Brian Paul | 2009-06-26 | 3 | -215/+212 |
| | | | | | | | A new node type (SLANG_OPER_RETURN_INLINED) is used to denote 'return' statements inside inlined functions which need special handling. All glean glsl1 tests pass for EmitContReturn=FALSE and TRUE. | ||||
* | glsl: predicate assignments according to __returnFlag | Brian Paul | 2009-06-26 | 1 | -4/+29 |
| | | | | Fixes glean "function with early return (3)" case (when EmitContReturn=FALSE). | ||||
* | glsl: added slang_variable::is_global field | Brian Paul | 2009-06-26 | 1 | -0/+1 |
| | |||||
* | glsl: silence a problem warning | Brian Paul | 2009-06-26 | 1 | -1/+2 |
| | |||||
* | glsl: code refactoring for return statements | Brian Paul | 2009-06-26 | 1 | -70/+88 |
| | |||||
* | glsl: fix assorted regressions related to early-return-removal | Brian Paul | 2009-06-26 | 2 | -14/+35 |
| | |||||
* | glsl: comments, field reordering | Brian Paul | 2009-06-26 | 1 | -1/+4 |
| | |||||
* | glsl: rework loop nesting code | Brian Paul | 2009-06-26 | 2 | -41/+87 |
| | |||||
* | glsl: remove test for loop unrolling when we hit conditional cont/break | Brian Paul | 2009-06-26 | 1 | -4/+0 |
| | | | | | This is no longer needed since we added the new _slang_loop_contains_continue_or_break() function/test. | ||||
* | glsl: checkpoint: predicate __retVal = expr with __returnFlag | Brian Paul | 2009-06-26 | 1 | -26/+60 |
| | | | | The glean "function with early return (1)" test passes now. | ||||
* | glsl: use new helper functions in _slang_gen_logical_and/or() | Brian Paul | 2009-06-26 | 1 | -15/+9 |
| | |||||
* | glsl: add comments | Brian Paul | 2009-06-26 | 1 | -0/+3 |
| | |||||
* | glsl: checkpoint: replace 'return' with __returnFlag=true; | Brian Paul | 2009-06-26 | 1 | -7/+68 |
| | | | | Needed for "remove early returns" transformation. | ||||
* | glsl: fix up scoping for parent/children in slang_operation_copy() | Brian Paul | 2009-06-26 | 1 | -0/+9 |
| | | | | This will need more testing, but no regressions seen so far. | ||||
* | glsl: fix uninitialized var in _slang_gen_for_without_continue() | Brian Paul | 2009-06-26 | 1 | -1/+1 |
| | |||||
* | glsl: added slang_operation_free_children() | Brian Paul | 2009-06-26 | 2 | -0/+17 |
| | |||||
* | glsl: added slang_oper_num_children() helper | Brian Paul | 2009-06-26 | 1 | -0/+7 |
| | |||||
* | glsl: check-point: declare _returnFlag | Brian Paul | 2009-06-26 | 1 | -0/+33 |
| | |||||
* | glsl: added slang_operation_insert_child() | Brian Paul | 2009-06-26 | 2 | -0/+23 |
| | |||||
* | glsl: use slang_generate_declaration() to consolidate some code | Brian Paul | 2009-06-26 | 1 | -31/+37 |
| | |||||
* | glsl: remove obsolete comment | Brian Paul | 2009-06-26 | 1 | -3/+0 |
| | |||||
* | st/mesa: query PIPE_CAP_TGSI_CONT_SUPPORTED | Brian Paul | 2009-06-26 | 1 | -0/+5 |
| | |||||
* | glsl: implement _slang_gen_while_without_continue() | Brian Paul | 2009-06-26 | 1 | -82/+115 |
| | |||||
* | glsl: fix a bug involving 'continue' in 'for' loops | Brian Paul | 2009-06-26 | 2 | -23/+44 |
| | | | | | | | | Need to execute the for loop's increment code before we continue. Add a slang_assemble_ctx::CurLoopOper field to keep track of the containing loop and avoid the "cont if true" path in this situation. Plus, assorted clean-ups. | ||||
* | glsl: added slang_oper_child_const() | Brian Paul | 2009-06-26 | 1 | -0/+8 |
| | |||||
* | glsl: use _slang_loop_contains_continue_or_break() to check for unrolling | Brian Paul | 2009-06-26 | 1 | -5/+36 |
| | | | | The previous test failed for nested loops. | ||||
* | glsl: use new _slang_loop_contains_continue() helper function | Brian Paul | 2009-06-26 | 1 | -5/+126 |
| | |||||
* | glsl: implement continue->break translation for do-while loops | Brian Paul | 2009-06-26 | 1 | -15/+219 |
| | |||||
* | glsl: added slang_operation_literal_int/bool() helper functions | Brian Paul | 2009-06-26 | 1 | -0/+26 |
| | |||||
* | glsl: don't allocate 0-length children array in slang_operation_copy() | Brian Paul | 2009-06-26 | 1 | -6/+7 |
| | |||||
* | glsl: remove debug code, misc clean-up | Brian Paul | 2009-06-26 | 1 | -5/+0 |
| | |||||
* | glsl: implement continue->break transformation for for-loops | Brian Paul | 2009-06-26 | 1 | -3/+167 |
| | |||||
* | glsl: added slang_operation_add_children() and slang_oper_child() helpers | Brian Paul | 2009-06-26 | 2 | -0/+25 |
| | |||||
* | glsl: added slang_assemble_ctx::EmitContReturn field, init | Brian Paul | 2009-06-26 | 2 | -0/+4 |
| | |||||
* | glsl: don't unroll loops containing continue/break | Brian Paul | 2009-06-26 | 1 | -0/+6 |
| | | | | Just search the AST in _slang_can_unroll_for_loop(). |