summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2010-07-19linker: First bits of intrastage, intershader function linkingIan Romanick
This handles the easy case of linking a function in a different compilation unit that doesn't call any functions or reference any global variables.
2010-07-19ir_function_signature: Make actual_parameters publicIan Romanick
2010-07-19linker: Remove some unnecessary includesIan Romanick
2010-07-19exec_list: Fix foreach_list_safe.Kenneth Graunke
It now works correctly when nodes are removed, as it was originally intended to do; it no longer processes nodes added to the list before the current node, nor those added immediately after the current node. This matches the behavior of Linux's list_for_each_safe.
2010-07-19mesa: remove restart.c from buildBrian Paul
2010-07-19linker: Use foreach_list_safe in move_non_declarationsIan Romanick
The node being processed may be removed from the list and put in a different list. Not using the safe version caused list processing to change streams after moving a node.
2010-07-19linker: Move global instructions from the linked shader firstIan Romanick
For the shader containing 'main', use the linked shader (i.e., the clone of the original shader that contained main) as the source for global instructions to move into main.
2010-07-19r300g: fix possible crash in destroy_contextMarek Olšák
The problem is destroy_context is almost NEVER called. The only test for destroy_context I know is compiz. Reported by Vinson Lee. FDO bug #29150.
2010-07-19util: remove the dummy field in mempoolMarek Olšák
It should allocate less memory now.
2010-07-19glsl2: Fix lexing of octal values, including "0".Eric Anholt
When faced with a constructor like 'ivec4(0, 2, 0, 0)', we would manage to get a value of 2 instead of 0 for the first "0". Usually 2 characters past "0" would point at some junk and lex as 0 anyway. Fixes glsl-octal and glsl-unused-varyings.
2010-07-19scons: Fix Mac OS X SCons build on 32-bit CPUs.Vinson Lee
The Mac OS X SCons build failed on 32-bit CPUs starting with commit 2f6d47a7c8d6e69e5154de44115aab9ba35a41d2 during linking of graw-null. The build succeeds though on a 64-bit CPU. See FDO bug 29117. This was the compiler error. scons: building associated VariantDir targets: build/darwin-x86-debug Linking build/darwin-x86-debug/gallium/targets/graw-null/libgraw.dylib ... Undefined symbols: "_lp_swizzled_cbuf", referenced from: _lp_swizzled_cbuf$non_lazy_ptr in libllvmpipe.a(lp_rast.os) _lp_swizzled_cbuf$non_lazy_ptr in libllvmpipe.a(lp_rast_tri.os) (maybe you meant: _lp_swizzled_cbuf$non_lazy_ptr) "_lp_dummy_tile", referenced from: _lp_dummy_tile$non_lazy_ptr in libllvmpipe.a(lp_rast.os) _lp_dummy_tile$non_lazy_ptr in libllvmpipe.a(lp_rast_tri.os) _lp_dummy_tile$non_lazy_ptr in libllvmpipe.a(lp_setup.os) (maybe you meant: _lp_dummy_tile$non_lazy_ptr) The patch adds -fno-common to all Mac OS X builds to work around this issue.
2010-07-19glsl2: Fix the expression type for atan's pi * sign(y).Eric Anholt
Fixes CorrectFunction.vert.
2010-07-19i915: Ask the compiler to flatten out all the if statements that it can.Eric Anholt
2010-07-19glsl2: Add a pass for converting if statements to conditional assignment.Eric Anholt
This will be used on 915 and similar hardware of that generation.
2010-07-19glsl2: Give IR nodes a type field.Eric Anholt
This is a big deal for debugging if nothing else ("what class is this ir_instruction, really?"), but is also nice for avoiding building a whole visitor or an if (node->as_whatever() || node->as_other_thing()) chain.
2010-07-19ir_to_mesa: Do validation on the IR tree.Eric Anholt
2010-07-19util: add dummy field to empty structure typesBrian Paul
Empty structure types aren't allowed with MSVC. I haven't tested this change. Hope I haven't broken it...
2010-07-19ir_to_mesa: Don't do lowering passes on an errored-out shader.Eric Anholt
2010-07-19r300g: fix typoMarek Olšák
2010-07-19r300g: use memory pools for buffer_create and get_transferMarek Olšák
The improvement in Tremulous: 68.9 fps -> 71.1 fps.
2010-07-19util: add a memory pool for equally sized memory allocationsMarek Olšák
malloc/free are in O(1).
2010-07-19st/mesa: fix FRAMEBUFFER_UNSUPPORTED with the D24S8 formatMarek Olšák
Fixes FDO bug #29116. NOTE: this is a candidate for the 7.8 branch
2010-07-19glx: Fix drawable lookup in DRI2 event handlerKristian Høgsberg
DRI2 events are sent to the X drawable ID used to create the DRI2 drawable, not the GLX drawable ID. So when an event comes in, we need to look up the __GLXDRIdrawable by its X drawable ID, which needs a new hash table.
2010-07-18ir_to_mesa: Rename struct temp_entry, which is used for all variables now.Eric Anholt
2010-07-18ir_to_mesa: Add support for function calls.Eric Anholt
Unlike the previous compiler, in this case we emit only one copy of the function regardless of how many times it's called.
2010-07-18glsl2: Remove the const disease from function signature's callee.Eric Anholt
2010-07-18glsl2: Make cross() be an expression operation.Eric Anholt
ARB_fp, ARB_vp, Mesa IR, and the 965 vertex shader all have instructions for cross. Shaves 12 Mesa instructions off of a 66-instruction shader I have.
2010-07-18glsl2: Fix warning from always-false assert not being known to not return.Eric Anholt
2010-07-18r300g: u_upload optimisationDave Airlie
fix vb/ib uploads
2010-07-18gallium/st/dri2: add dri2 vblank query extension supportSven Arvidsson
from bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=28771 Signed-off-by: Dave Airlie <airlied@redhat.com>
2010-07-18llvmpipe: Remove dead initialization.Vinson Lee
2010-07-17r300g: final fix for r3xx constant buffer emissionMarek Olšák
2010-07-17r300g: fix typo in r3xx constant buffer emissionMarek Olšák
Ooops.
2010-07-17r300g: fix constant buffer emission on r3xxMarek Olšák
FDO bug #29128.
2010-07-17llvmpipe: Remove unused variable in lp_test_sincos.Vinson Lee
2010-07-16nv50: s/__func__/__FUNCTION__/Vinson Lee
2010-07-16nouveau: s/__func__/__FUNCTION__/Vinson Lee
2010-07-16nouveau: s/snprintf/util_snprintf/Vinson Lee
2010-07-16r300g: Remove unnecessary header.Vinson Lee
2010-07-16nouveau: s/inline/INLINE/Vinson Lee
2010-07-16glut: Remove duplicate symbol definition.José Fonseca
2010-07-16scons: Make PIPE_ALIGN_VAR() of static/global vars work on MinGW.José Fonseca
Workaround http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37216
2010-07-16scons: Fix Cygwin build.Vinson Lee
The Cygwin SCons build needed several file names to be fully qualified.
2010-07-16r300g: inline winsys_buffer_destroyMarek Olšák
2010-07-16r300g: do not make copies of constant buffers, emit them directlyMarek Olšák
2010-07-16draw: updated debug/dump codeBrian Paul
2010-07-16draw: added array element debug / bounds checking code (disabled)Brian Paul
2010-07-16llvmpipe: use single swizzled tileKeith Whitwell
Use a single swizzled tile per colorbuf (and per thread) to avoid accumulating large amounts of cached swizzled data. Now that the SSE3 code has been merged to master, the performance delta of this change is minimal, the main benefit is reduced memory usage due to no longer keeping swizzled copies of render targets. It's clear from the performance of the in-place version of this code that there is still quite a bit of time being spent swizzling & unswizzling, but it's not clear exactly how to reduce that.
2010-07-16llvmpipe: Describe _mm_shuffle_epi8() with gcc extended inline assembly when ↵José Fonseca
-mssse3 is not supported/enabled.
2010-07-16llvmpipe: Only use -mssse3 on gcc 4.3+José Fonseca