Age | Commit message (Collapse) | Author | |
---|---|---|---|
2009-06-30 | mesa/dlist: fixes and improvements for material caching | Keith Whitwell | |
Only short-circuit material call if *all* statechanges from this call are cached. Some material calls (eg with FRONT_AND_BACK) change more than one piece of state -- need to check all of them before returning. Also, Material calls are legal inside begin/end pairs, so don't need to be as careful about begin/end state as with regular statechanges (like ShadeModel) when caching. Take advantage of this and do better caching. | |||
2009-06-30 | mesa/dlist: don't cache state which may not be replayed on CallList | Keith Whitwell | |
Statechanges which occur before the first End in a display list may not be replayed when the list is called, in particular if it is called from within a begin/end pair. Recognize vulnerable statechanges and do not use them to fill in the state cache. | |||
2009-06-30 | mesa/dlist: invalidate cached dlist compile state after CallList | Keith Whitwell | |
When compiling a display list containing a CallList, it is necessary to invalidate any assumption about the GL state after the recursive call completes. | |||
2009-06-30 | Merge branch 'mesa_7_5_branch' into dlist-statechange-shortcircuit | Keith Whitwell | |
Need this to pick up fixes for per-vertex materials. | |||
2009-06-30 | mesa: remove whitespace | Keith Whitwell | |
2009-06-30 | mesa: remove dead constant pointsize code from ffvertex_prog.c | Keith Whitwell | |
2009-06-30 | mesa: remove dead vertex fog code from ffvertex_prog.c | Keith Whitwell | |
2009-06-30 | mesa: fix material inputs in ffvertex_prog.c | Keith Whitwell | |
Varying material inputs were not being picked up from the same slots where the VBO code is currently placing them (GENERIC0 and above). Most often they were just being ignored. | |||
2009-06-30 | mesa: fix transform_points_3d_no_rot using undefined values in %xmm0 | Arthur HUILLET | |
Signed-off-by: Arthur HUILLET <arthur.huillet@free.fr> | |||
2009-06-30 | mesa: Set FLUSH_EXPLICIT_BIT flags when calling FlushMappedBufferRange. | José Fonseca | |
As prescribed by ARB_map_buffer_range. | |||
2009-06-30 | mesa/dlist: restore missing SAVE_FLUSH_VERTICES in save_ShadeModel | Keith Whitwell | |
Reorganization of ShadeModel to avoid flushing vertices too often ended up never flushing vertices due to omitted line of code. | |||
2009-06-30 | mesa/vbo: use _lookup_prim_by_nr for debugging | Keith Whitwell | |
Switch over to specialized enum lookup for primitives | |||
2009-06-30 | mesa: add debug printer for primitive name | Keith Whitwell | |
Add a simple version of _mesa_lookup_enum_by_nr() which expects a primitive enum (GL_POINTS..GL_POLYGON). This avoids some annoying duplicates when looking up primitives, such as the GL_FALSE/GL_POINTS clash. | |||
2009-06-30 | mesa/dlist: shortcircuit some redundant statechanges at compile time | Keith Whitwell | |
Currently, state-changes in mesa display lists are more or less a verbatim recording of the GL calls made during compilation. This change introduces a minor optimization to recognize and eliminate cases where the application emits redundant state changes, eg: glShadeModel( GL_FLAT ); glBegin( prim ) ... glEnd() glShadeModel( GL_FLAT ); glBegin( prim ) ... glEnd() The big win is when we can eliminate all the statechanges between two primitive blocks and combine them into a single VBO node. This commit implements state-change elimination for Material and ShadeModel only. This is enough to make a start on debugging, etc. | |||
2009-06-29 | intel: added null ptr check | Brian Paul | |
This fixes a segfault seen with piglit's fdo20701 test. | |||
2009-06-26 | glsl: check number of varying variables against the limit | Brian Paul | |
Link fails if too many varying vars. (cherry picked from master, commit cc58fbcf2c5c88f406818db60910f537e03610d6) | |||
2009-06-26 | mesa: raise MAX_VARYING (number of shader varying vars) to 16 | Brian Paul | |
16 is the limit for now because of various 32-bit bitfields. (cherry picked from master, commit 4e762395ef7e8c332c16fd0c11025cfa52763a45) | |||
2009-06-26 | intel / DRI2: Additional flush of fake front-buffer to real front-buffer | Ian Romanick | |
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. | |||
2009-06-26 | mesa: bump version to 7.5-rc4 | Brian Paul | |
2009-06-26 | glsl: move/simplify error checking for 'return' statements | Brian Paul | |
2009-06-26 | glsl: overhaul 'return' statement handling | Brian Paul | |
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. | |||
2009-06-26 | glsl: predicate assignments according to __returnFlag | Brian Paul | |
Fixes glean "function with early return (3)" case (when EmitContReturn=FALSE). | |||
2009-06-26 | glsl: added slang_variable::is_global field | Brian Paul | |
2009-06-26 | glsl: silence a problem warning | Brian Paul | |
2009-06-26 | glsl: code refactoring for return statements | Brian Paul | |
2009-06-26 | glsl: fix assorted regressions related to early-return-removal | Brian Paul | |
2009-06-26 | glsl: comments, field reordering | Brian Paul | |
2009-06-26 | glsl: rework loop nesting code | Brian Paul | |
2009-06-26 | glsl: remove test for loop unrolling when we hit conditional cont/break | Brian Paul | |
This is no longer needed since we added the new _slang_loop_contains_continue_or_break() function/test. | |||
2009-06-26 | glsl: checkpoint: predicate __retVal = expr with __returnFlag | Brian Paul | |
The glean "function with early return (1)" test passes now. | |||
2009-06-26 | glsl: use new helper functions in _slang_gen_logical_and/or() | Brian Paul | |
2009-06-26 | glsl: add comments | Brian Paul | |
2009-06-26 | glsl: checkpoint: replace 'return' with __returnFlag=true; | Brian Paul | |
Needed for "remove early returns" transformation. | |||
2009-06-26 | glsl: fix up scoping for parent/children in slang_operation_copy() | Brian Paul | |
This will need more testing, but no regressions seen so far. | |||
2009-06-26 | glsl: fix uninitialized var in _slang_gen_for_without_continue() | Brian Paul | |
2009-06-26 | glsl: added slang_operation_free_children() | Brian Paul | |
2009-06-26 | glsl: added slang_oper_num_children() helper | Brian Paul | |
2009-06-26 | glsl: check-point: declare _returnFlag | Brian Paul | |
2009-06-26 | glsl: added slang_operation_insert_child() | Brian Paul | |
2009-06-26 | glsl: use slang_generate_declaration() to consolidate some code | Brian Paul | |
2009-06-26 | glsl: remove obsolete comment | Brian Paul | |
2009-06-26 | st/mesa: query PIPE_CAP_TGSI_CONT_SUPPORTED | Brian Paul | |
2009-06-26 | glsl: implement _slang_gen_while_without_continue() | Brian Paul | |
2009-06-26 | glsl: fix a bug involving 'continue' in 'for' loops | Brian Paul | |
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. | |||
2009-06-26 | glsl: added slang_oper_child_const() | Brian Paul | |
2009-06-26 | glsl: use _slang_loop_contains_continue_or_break() to check for unrolling | Brian Paul | |
The previous test failed for nested loops. | |||
2009-06-26 | glsl: use new _slang_loop_contains_continue() helper function | Brian Paul | |
2009-06-26 | glsl: implement continue->break translation for do-while loops | Brian Paul | |
2009-06-26 | glsl: added slang_operation_literal_int/bool() helper functions | Brian Paul | |
2009-06-26 | glsl: don't allocate 0-length children array in slang_operation_copy() | Brian Paul | |