summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2010-12-13st/mesa: reorganize vertex program translation codest-mesa-per-context-shadersBrian Paul4-94/+59
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.
2010-12-13st/mesa: implement geometry shader varientsBrian Paul5-85/+165
Only needed in order to support per-context gallium shaders.
2010-12-12st/mesa: restore glDraw/CopyPixels using new fragment program variantsBrian Paul8-120/+182
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.
2010-12-10st/mesa: checkpoint: implement fragment program variantsBrian Paul8-217/+394
The fragment programs variants are per-context, as the vertex programs. NOTE: glDrawPixels is totally broken at this point.
2010-12-10st/mesa: make vertex shader variants per-contextBrian Paul4-14/+148
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-10vbo: Avoid the copy to current in dlists if not required.Mathias Fröhlich3-25/+36
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 Paul1-5/+7
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 Glisse1-1/+1
Spoted by Alex Diomin Signed-off-by: Jerome Glisse <jglisse@redhat.com>
2010-12-09mesa: Clean up header file inclusion in arbprogparse.h.Vinson Lee1-1/+5
2010-12-10i965: support for two-sided lighting on SandybridgeXiang, Haihao5-6/+72
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, Haihao1-4/+10
_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 Anholt2-11/+17
2010-12-09i965: Add support for gen6 constant-index constant loading.Eric Anholt2-3/+9
2010-12-10targets/egl: Improve st_GL.so loading.Chia-I Wu1-0/+15
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 Wu1-2/+7
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 Paul1-12/+0
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 Paul1-1/+0
2010-12-09draw/llvm: remove extraneous conditionalBrian Paul1-6/+4
2010-12-09glsl: Unroll loops with conditional breaks anywhere (not just the end)Luca Barbieri1-46/+68
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 Graunke1-1/+1
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 Graunke1-6/+11
2010-12-09glsl: Correct the marking of InputsRead/OutputsWritten on in/out matrices.Eric Anholt1-20/+15
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 Anholt2-0/+8
Fixes depth-tex-modes-rg.
2010-12-09intel: Use plain R8 and RG8 for COMPRESSED_RED and COMPRESSED_RG.Eric Anholt1-0/+2
Fixes texture-rg.
2010-12-09i965: Silence uninitialized variable warning.Vinson Lee1-0/+5
Fixes this GCC warning. brw_fs.cpp: In function 'brw_reg brw_reg_from_fs_reg(fs_reg*)': brw_fs.cpp:3255: warning: 'brw_reg' may be used uninitialized in this function
2010-12-09r600g: Fix SCons build.Vinson Lee4-4/+5
2010-12-09r600g: indentation cleanupJerome Glisse2-23/+21
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
2010-12-09r600g: specialized upload managerJerome Glisse8-109/+176
Allow important performance increase by doing hw specific implementation of the upload manager helper. Drop the range flushing that is not hit with this code (and wasn't with previous neither). Performance improvement are mostly visible on slow CPU. Signed-off-by: Jerome Glisse <jglisse@redhat.com>
2010-12-09r600g: avoid using pb* helper we are loosing previous cpu cycle with itJerome Glisse9-388/+364
r600g is up to a point where all small CPU cycle matter and pb* turn high on profile. It's mostly because pb try to be generic and thus trigger unecessary check for r600g driver. To avoid having too much abstraction & too much depth in the call embedded everythings into r600_bo. Make code simpler & faster. The performance win highly depend on the CPU & application considered being more important on slower CPU and marginal/unoticeable on faster one. Signed-off-by: Jerome Glisse <jglisse@redhat.com>
2010-12-09glsl: fix lowering conditional returns in subroutinesFabian Bieler1-1/+5
this fix applies to the lower_sub_return 'branch' of the lower_jumps pass Fixes piglit tests glsl-functions-5 and glsl-functions-6.
2010-12-09i965: remove unused variable since brw_wm_glsl.c removal.Eric Anholt2-2/+1
2010-12-09i965: Set render_cache_read_write surface state bit on gen6 constant surfs.Eric Anholt2-0/+9
This is said to be required in the spec, even when you aren't doing writes.
2010-12-09i965: Set up the correct texture border color state struct for Ironlake.Eric Anholt2-5/+45
This doesn't actually fix border color on Ironlake, but it appears to be a requirement, and gen6 needs it too.
2010-12-09i965: Clean up VS constant buffer location setup.Eric Anholt1-15/+3
2010-12-09i965: Fix VS constants regression pre-gen6.Eric Anholt1-1/+1
Last minute change for gen6 with 0 used params dropped the multiply.
2010-12-09llvmpipe: Plug fence leaks.José Fonseca2-0/+3
2010-12-09mesa: allow GLfixed arrays for OpenGL ES 2.0Shuang He1-2/+2
Signed-off-by: Brian Paul <brianp@vmware.com>
2010-12-09mesa: Fix glTexCoordPointer with type GL_FIXED.Chia-I Wu1-1/+2
GL_FIXED is also a legal type for glTexCoordPointer.
2010-12-09mesa: Fix GL_FIXED arrays.Chia-I Wu1-0/+2
It is broken since 433e5e6defc85d8b1d6262aff990e3f5a8b37027.
2010-12-08i965: Drop push-mode reladdr constant loading and always use constant_map.Eric Anholt4-93/+96
This eases the gen6 implementation, which can only handle up to 32 registers of constants, while likely not penalizing real apps using reladdr since all of those I've seen also end up hitting the pull constant buffer. On gen6, the constant map means that simple NV VPs fit under the 32-reg limit and now succeed. Fixes around 10 testcases.
2010-12-09radeon: bump mip tree levels to 15Alex Deucher1-1/+1
I forgot to bump this when I bumped the tex levels.
2010-12-08mesa: simplify target checking for TexImage functionsBrian Paul1-8/+18
2010-12-08mesa: revamp error checking for compressed texture imagesBrian Paul1-67/+44
Simplify some code, remove unneeded checks, etc.
2010-12-08glsl: In ast_to_hir, check sampler array indexingChad Versace1-0/+14
Raise error if a sampler array is indexed with a non-constant expression. From section 4.1.7 of the GLSL 1.30 spec: "Samplers aggregated into arrays within a shader (using square brackets [ ]) can only be indexed with integral constant expressions [...]."
2010-12-08i965: Drop KIL_NV from the ff/ARB_fp path since it was only used for GLSL.Eric Anholt3-21/+0
2010-12-08i965: Use the new pixel mask location for gen6 ARB_fp KIL instructions.Eric Anholt1-2/+8
Fixes: fp-kil fp-generic/kil-swizzle.
2010-12-08i965: Set the render target index in gen6 fixed-function/ARB_fp path.Eric Anholt1-0/+7
Fixes: fbo-drawbuffers2-blend fbo-drawbuffers2-colormask
2010-12-08i965: Set up the per-render-target blend state on gen6.Eric Anholt1-46/+49
This will let us get EXT_draw_buffers2 blending and colormasking working.
2010-12-08i965: Set up the color masking for the first drawbuffer on gen6.Eric Anholt1-0/+9
Fixes glean/maskedClear
2010-12-08mesa: Do not advertise GL_OES_texture_3D.Chia-I Wu1-0/+4
GL_OES_texture_3D has a GLSL counterpart. Since it is not implemented, GL_OES_texture_3D should not be advertised.