summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2010-12-13st/mesa: minor re-indentingBrian Paul
2010-12-13st/mesa: make st_delete_program() staticBrian Paul
2010-12-13st/mesa: add comments, fix formatting in st_cb_program.cBrian Paul
2010-12-13Squashed commit of the following (st-mesa-per-context-shaders branch):Brian Paul
commit 4f106f44a32eaddb6cf3fea6ba5ee9787bff609a Author: Brian Paul <brianp@vmware.com> Date: Mon Dec 13 14:06:08 2010 -0700 st/mesa: reorganize vertex program translation code Now it looks like the fragment and geometry program code. Also remove the serial number fields from programs. It was used to determine when new translations were needed. Now the variant key is used for that. And the st_program_string_notify() callback removes all variants when the program's code is changed. commit e12d6791c5e4bff60bb2e6c04414b1b4d1325f3e Author: Brian Paul <brianp@vmware.com> Date: Mon Dec 13 13:38:12 2010 -0700 st/mesa: implement geometry shader varients Only needed in order to support per-context gallium shaders. commit c5751c673644808ab069259a852f24c4c0e92b9d Author: Brian Paul <brianp@vmware.com> Date: Sun Dec 12 15:28:57 2010 -0700 st/mesa: restore glDraw/CopyPixels using new fragment program variants Clean up the logic for fragment programs for glDraw/CopyPixels. We now generate fragment program variants for glDraw/CopyPixels as needed which do texture sampling, pixel scale/bias, pixelmap lookups, etc. commit 7b0bb99bab6547f503a0176b5c0aef1482b02c97 Author: Brian Paul <brianp@vmware.com> Date: Fri Dec 10 17:03:23 2010 -0700 st/mesa: checkpoint: implement fragment program variants The fragment programs variants are per-context, as the vertex programs. NOTE: glDrawPixels is totally broken at this point. commit 2cc926183f957f8abac18d71276dd5bbd1f27be2 Author: Brian Paul <brianp@vmware.com> Date: Fri Dec 10 14:59:32 2010 -0700 st/mesa: make vertex shader variants per-context Gallium shaders are per-context but OpenGL shaders aren't. So we need to make a different variant for each context. During context tear-down we need to walk over all shaders/programs and free all variants for the context being destroyed.
2010-12-13mesa, st/mesa: disable GL_ARB_geometry_shader4Brian Paul
The new GLSL compiler doesn't support geom shaders yet so disable the GL_ARB_geometry_shader4 extension. Undo this when geom shaders work again. NOTE: This is a candidate for the 7.10 branch.
2010-12-13ir_to_mesa: Don't generate swizzles for record derefs of non-scalar/vectorsIan Romanick
This is the same as what the array dereference handler does. Fixes piglit test glsl-link-struct-array (bugzilla #31648). NOTE: This is a candidate for the 7.9 and 7.10 branches.
2010-12-13linker: Allow built-in arrays to have different sizes between shader stagesIan Romanick
Fixes pitlit test glsl-link-varying-TexCoord (bugzilla #31650).
2010-12-13i965: Fix gl_FragCoord.z setup on gen6.Eric Anholt
Fixes glsl-bug-22603.
2010-12-13i956: Fix the old FP path fragment position setup on gen6.Eric Anholt
Fixes fp-arb-fragment-coord-conventions-none
2010-12-13i965: Fix ARL to work on gen6.Eric Anholt
RNDD isn't one of the instructions that can do conversion from execution type to destination type. Fixes glsl-vs-arrays-3.
2010-12-13intel: Include stdbool so we can stop using GLboolean when we want to.Eric Anholt
This requires shuffling the driconf XML macros around, since they use true and false tokens expecting them to not get expanded to anything.
2010-12-13gallivm: store callbacks in a linked list rather than fixed size arrayBrian Paul
Should fix http://bugs.freedesktop.org/show_bug.cgi?id=32308
2010-12-13tnl: a better way to initialize the gl_program_machine memoryBrian Paul
This improves commit ef3f7e61b314236cbb7ed2cf24d34c6f90d9cfca NOTE: This is a candidate for the 7.9 and 7.10 branches.
2010-12-12r600g: fix rendering with a vertex attrib having a zero strideAlex Deucher
The hardware supports zero stride just fine. This is a port of 2af8a1983180fc0168c1e0e53bcc69ee3d684ea4 from r300g. NOTE: This is a candidate for both the 7.9 and 7.10 branches. Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
2010-12-13r300g: fixup rs690 tiling stride alignment calculations.Dave Airlie
The RS690 memory controller prefers things to be on a different boundary than the discrete GPUs, we had an attempt to fix this, but it still failed, this consolidates the stride calculation into one place and removes the really special case check. This fixes gnome-shell and 16 piglit tests on my rs690 system. NOTE: This is a candidate for both the 7.9 and 7.10 branches. Signed-off-by: Dave Airlie <airlied@redhat.com>
2010-12-12egl: Do not unload drivers.Chia-I Wu
When the driver is the last reference to libEGL.so, unloading it will cause libEGL.so to be unmapped and give problems. Disable the unloading for now. Still have to figure out the right timing to unload drivers.
2010-12-12mapi: Fix a warning in !THREADS build.Chia-I Wu
It should be u_thread_self, not _glthread_GetID.
2010-12-11mesa: Clean up header file inclusion in nvfragparse.h.Vinson Lee
2010-12-11mesa: Clean up header file inclusion in ir_to_mesa.h.Vinson Lee
2010-12-11r300g: fix rendering with a vertex attrib having a zero strideMarek Olšák
The hardware apparently does support a zero stride, so let's use it. This fixes missing objects in ETQW, but might also fix a ton of other similar-looking bugs. NOTE: This is a candidate for both the 7.9 and 7.10 branches.
2010-12-11tgsi: fix rbug compile errorMarek Olšák
../mesa/src/gallium/auxiliary/tgsi/tgsi_parse.h:139: error: dereferencing pointer ‘tokens.25’ does break strict-aliasing rules Signed-off-by: Marek Olšák <maraeo@gmail.com>
2010-12-11r300/compiler: fix swizzle lowering with a presubtract source operandMarek Olšák
If a source operand has a non-native swizzle (e.g. the KIL instruction cannot have a swizzle other than .xyzw), the lowering pass uses one or more MOV instructions to move the operand to an intermediate temporary with native swizzles. This commit fixes that the presubtract information was lost during the lowering. NOTE: This is a candidate for both the 7.9 and 7.10 branches.
2010-12-11r300/compiler: fix LIT in VSMarek Olšák
This fixes broken rendering of trees in ETQW. The trees still disappear for an unknown reason when they are close. Broken since: 2ff9d4474bdf5f05852ad4963d0b597d20743678 r300/compiler: make lowering passes possibly use up to two less temps NOTE: This is a candidate for the 7.10 branch.
2010-12-10glsl: Inherrit type of declared variable from initializer after processing ↵Ian Romanick
assignment do_assignment may apply implicit conversions to coerce the base type of initializer to the base type of the variable being declared. Fixes piglit test glsl-implicit-conversion-02 (bugzilla #32287). This probably also fixes bugzilla #32273. NOTE: This is a candidate for the 7.9 branch and the 7.10 branch.
2010-12-10glsl: Minor clean-up in validate_assignmentIan Romanick
This code has been changed around a lot, and there were some temporary variables left around from previous versions.
2010-12-10i965: Put common info on converting MESA_FORMAT to BRW_FORMAT in a table.Eric Anholt
There are exceptions to the table for depth texturing or rendering to not-quite-supported formats thanks to the non-orthogonal component selection for surface formats, but it's still a lot simpler.
2010-12-10intel: Just use ChooseTextureFormat for renderbuffer format choice.Eric Anholt
One less place to forget to put your new MESA_FORMAT support in.
2010-12-10intel: Add a couple of helper functions to reduce rb code duplication.Eric Anholt
2010-12-10intel: Add spans code for the ARB_texture_rg support.Eric Anholt
This starts spantmp2.h down the path of using MESA_FORMAT_* for specifying the format instead of the crazy GL format/type combo.
2010-12-10mesa: Don't assertion fail for _mesa_get_format_name(MESA_FORMAT_NONE)Eric Anholt
2010-12-10tnl: Initialize gl_program_machine memory in run_vp.Vinson Lee
Fixes piglit valgrind glsl-array-bounds-04 failure (FDO bug 29946). NOTE: This is a candidate for the 7.10 branch. This is a candidate for the 7.9 branch.
2010-12-10vbo: Avoid the copy to current in dlists if not required.Mathias Fröhlich
The current state is allowed to be undefined past DrawElements et al. Consequently omit that copying at least in the display list code. This pays us some percents performance. Signed-off-by: Brian Paul <brianp@vmware.com>
2010-12-10mesa/meta: fix broken assertion, rename stack depth varBrian Paul
assert(current_save_state < MAX_META_OPS_DEPTH) did not compile. Rename current_save_state to SaveStackDepth to be more consistent with the style of the other fields.
2010-12-10r600g: fix bo size when creating bo from handleJerome Glisse
Spoted by Alex Diomin Signed-off-by: Jerome Glisse <jglisse@redhat.com>
2010-12-09mesa: Clean up header file inclusion in arbprogparse.h.Vinson Lee
2010-12-10i965: support for two-sided lighting on SandybridgeXiang, Haihao
VS places color attributes together so that SF unit can fetch the right attribute according to object orientation. This fixes light issue in mesa demo geartrain, projtex.
2010-12-10meta: allow nested meta operationsXiang, Haihao
_mesa_meta_CopyPixels results in nested meta operations on Sandybridge. Previoulsy the second meta operation overrides all states saved by the first meta function.
2010-12-09i965: Add support for gen6 reladdr VS constant loading.Eric Anholt
2010-12-09i965: Add support for gen6 constant-index constant loading.Eric Anholt
2010-12-10targets/egl: Improve st_GL.so loading.Chia-I Wu
When the application is not linked to any libGL*.so, loading st_GL.so would give /usr/local/lib/egl/st_GL.so: undefined symbol: _glapi_tls_Context In that case, load libGL.so and try again. This works because util_dl_open loads with RTLD_GLOBAL. Fix "clear" OpenGL ES 1.1 demo.
2010-12-10target/egl: Fix misleading debug message.Chia-I Wu
When the name of the module is NULL, the process itself is dlopen()ed. Do not print libEGL debug: searching for st module (null)
2010-12-09draw/llvm: don't flush in vs_llvm_delete()Brian Paul
Fixes piglit glx-shader-sharing crash. When shaders are shared by multiple contexts, the shader's draw context pointer may point to a previously destroyed context. Dereferencing the context pointer will lead to a crash. In this case, simply removing the flushing code avoids the crash (the exec and sse shader paths don't flush here either). There's a deeper issue here, however, that needs examination. Shaders should not keep pointers to contexts since contexts might get destroyed at any time. NOTE: This is a candidate for the 7.10 branch (after this has been tested for a while).
2010-12-09draw/llvm: remove redundant commentBrian Paul
2010-12-09draw/llvm: remove extraneous conditionalBrian Paul
2010-12-09glsl: Unroll loops with conditional breaks anywhere (not just the end)Luca Barbieri
Currently we only unroll loops with conditional breaks at the end, which is the form that lower_jumps generates. However, if breaks are not lowered, they tend to appear at the beginning, so add support for a conditional break anywhere. Signed-off-by: Luca Barbieri <luca@luca-barbieri.com> Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
2010-12-09glsl: Consider the "else" branch when looking for loop breaks.Kenneth Graunke
Found this bug by code inspection. Based off the comments just before this code, the intent is to find whether the break exists in the "then" branch or the "else" branch. However, the code actually looked at the last instruction in the "then" branch twice.
2010-12-09glsl: Clean up code by adding a new is_break() function.Kenneth Graunke
2010-12-09glsl: Correct the marking of InputsRead/OutputsWritten on in/out matrices.Eric Anholt
If you used a constant array index to access the matrix, we'd flag a bunch of wrong inputs/outputs as being used because the index was multiplied by matrix columns and the actual used index was left out. Fixes glsl-mat-attribute.
2010-12-09intel: Set the swizzling for depth textures using the GL_RED depth mode.Eric Anholt
Fixes depth-tex-modes-rg.
2010-12-09intel: Use plain R8 and RG8 for COMPRESSED_RED and COMPRESSED_RG.Eric Anholt
Fixes texture-rg.