aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* progs/util: make sure function pointers are initializedKeith Whitwell2009-06-291-1/+6
| | | | | Call Init() from CompileShaderFile, was previously only called for the Text version of this function.
* progs/glsl: compile with scons and glewKeith Whitwell2009-06-2927-1/+106
| | | | Get most of these working with scons.
* scons: Don't raise an exception when DXSDK is not found.José Fonseca2009-06-291-5/+3
| | | | | Unfortunately scons does not check if a tool exists before it invokes its generate function.
* scons: Disable optimizations only for gcc-4.2José Fonseca2009-06-281-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | gcc-4.2's optimizer has a strange bug where it looses code from inner loops in certain situations. For example, if the appearently innocent looking code below is compiled with gcc-4.2 -S -O1, the inner loop's code is missing from the outputed assembly. struct Size { unsigned width; }; struct Command { unsigned length; struct Size sizes[32]; }; extern void emit_command(void *command, unsigned length); void create_surface( struct Size size, unsigned faces, unsigned levels) { struct Command cmd; unsigned face; unsigned level; cmd.length = faces*levels*sizeof(cmd.sizes[0]); for(face = 0; face < faces; ++face) { for(level = 0; level < levels; ++level) { cmd.sizes[face*levels + level] = size; // This should generate a shrl statement, but the whole for body // disappears in gcc-4.2 -O1/-O2/-O3! size.width >>= 1; } } emit(&cmd, sizeof cmd.length + cmd.length); } Note that this is not specific to MinGW's gcc-4.2 crosscompiler (the version typically found in debian/ubuntu's mingw32 packages). gcc-4.2 on Linux also displays the same error. gcc-4.3 and above gets this correctly though. Updated MinGW debian packages with gcc-4.3 are available from http://people.freedesktop.org/~jrfonseca/debian/pool/main/m/
* scons: Use -Bsymbolic linker option.José Fonseca2009-06-281-0/+5
| | | | | | | | This prevents the error relocation R_X86_64_PC32 against symbol `_gl_DispatchTSD' can not be used when making a shared object; recompile with -fPIC when building on x86_64 architecture.
* docs: detect when too many varying vars are usedmesa_7_5_rc4Brian Paul2009-06-261-0/+1
|
* glsl: check number of varying variables against the limitBrian Paul2009-06-261-4/+9
| | | | | | Link fails if too many varying vars. (cherry picked from master, commit cc58fbcf2c5c88f406818db60910f537e03610d6)
* docs: fix typos, remove old text from relnotes fileBrian Paul2009-06-261-9/+2
|
* docs: bring over news updates from 7.4 branchBrian Paul2009-06-261-0/+15
|
* docs: bring in 7.4.3 and 7.4.4 release notes, newsBrian Paul2009-06-263-0/+149
|
* docs: increase max varying vars to 16Brian Paul2009-06-261-0/+1
|
* mesa: raise MAX_VARYING (number of shader varying vars) to 16Brian Paul2009-06-261-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-bufferIan Romanick2009-06-261-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-rc4Brian Paul2009-06-262-2/+2
|
* docs: document for/continue bug fixBrian Paul2009-06-261-0/+1
|
* cell: PIPE_CAP_TGSI_CONT_SUPPORTED queryBrian Paul2009-06-261-0/+2
|
* softpipe: PIPE_CAP_TGSI_CONT_SUPPORTED queryBrian Paul2009-06-261-0/+2
|
* gallium: added PIPE_CAP_TGSI_CONT_SUPPORTEDBrian Paul2009-06-261-0/+1
|
* glsl: move/simplify error checking for 'return' statementsBrian Paul2009-06-261-22/+14
|
* glsl: overhaul 'return' statement handlingBrian Paul2009-06-263-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 __returnFlagBrian Paul2009-06-261-4/+29
| | | | Fixes glean "function with early return (3)" case (when EmitContReturn=FALSE).
* glsl: added slang_variable::is_global fieldBrian Paul2009-06-261-0/+1
|
* glsl: silence a problem warningBrian Paul2009-06-261-1/+2
|
* glsl: code refactoring for return statementsBrian Paul2009-06-261-70/+88
|
* glsl: fix assorted regressions related to early-return-removalBrian Paul2009-06-262-14/+35
|
* glsl: comments, field reorderingBrian Paul2009-06-261-1/+4
|
* glsl: rework loop nesting codeBrian Paul2009-06-262-41/+87
|
* glsl: remove test for loop unrolling when we hit conditional cont/breakBrian Paul2009-06-261-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 __returnFlagBrian Paul2009-06-261-26/+60
| | | | The glean "function with early return (1)" test passes now.
* glsl: use new helper functions in _slang_gen_logical_and/or()Brian Paul2009-06-261-15/+9
|
* glsl: add commentsBrian Paul2009-06-261-0/+3
|
* glsl: checkpoint: replace 'return' with __returnFlag=true;Brian Paul2009-06-261-7/+68
| | | | Needed for "remove early returns" transformation.
* glsl: fix up scoping for parent/children in slang_operation_copy()Brian Paul2009-06-261-0/+9
| | | | This will need more testing, but no regressions seen so far.
* glsl: fix uninitialized var in _slang_gen_for_without_continue()Brian Paul2009-06-261-1/+1
|
* glsl: added slang_operation_free_children()Brian Paul2009-06-262-0/+17
|
* glsl: added slang_oper_num_children() helperBrian Paul2009-06-261-0/+7
|
* glsl: check-point: declare _returnFlagBrian Paul2009-06-261-0/+33
|
* glsl: added slang_operation_insert_child()Brian Paul2009-06-262-0/+23
|
* glsl: use slang_generate_declaration() to consolidate some codeBrian Paul2009-06-261-31/+37
|
* glsl: remove obsolete commentBrian Paul2009-06-261-3/+0
|
* st/mesa: query PIPE_CAP_TGSI_CONT_SUPPORTEDBrian Paul2009-06-261-0/+5
|
* glsl: implement _slang_gen_while_without_continue()Brian Paul2009-06-261-82/+115
|
* glsl: fix a bug involving 'continue' in 'for' loopsBrian Paul2009-06-262-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 Paul2009-06-261-0/+8
|
* glsl: use _slang_loop_contains_continue_or_break() to check for unrollingBrian Paul2009-06-261-5/+36
| | | | The previous test failed for nested loops.
* glsl: use new _slang_loop_contains_continue() helper functionBrian Paul2009-06-261-5/+126
|
* glsl: implement continue->break translation for do-while loopsBrian Paul2009-06-261-15/+219
|
* glsl: added slang_operation_literal_int/bool() helper functionsBrian Paul2009-06-261-0/+26
|
* glsl: don't allocate 0-length children array in slang_operation_copy()Brian Paul2009-06-261-6/+7
|
* glsl: remove debug code, misc clean-upBrian Paul2009-06-261-5/+0
|