summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* gallivm: more linear tex wrap mode calculation simplificationRoland Scheidegger2010-10-091-12/+9
| | | | | | | Rearrange order of operations a bit to make some clamps easier. All calculations should be equivalent. Note there seems to be some inconsistency in the clamp to edge case wrt normalized/non-normalized coords, could potentially simplify this too.
* gallivm: optimize some tex wrap mode calculations a bitRoland Scheidegger2010-10-091-6/+11
| | | | | | | | | Sometimes coords are clamped to positive numbers before doing conversion to int, or clamped to 0 afterwards, in this case can use itrunc instead of ifloor which is easier. This is only the case for nearest calculations unfortunately, except linear MIRROR_CLAMP_TO_EDGE which for the same reason can use a unsigned float build context so the ifloor_fract helper can reduce this to itrunc in the ifloor helper itself.
* gallivm: replace sub/floor/ifloor combo with ifloor_fractRoland Scheidegger2010-10-091-5/+1
|
* gallivm: faster iround implementation for sse2Roland Scheidegger2010-10-091-1/+53
| | | | | | sse2 supports round to nearest directly (or rather, assuming default nearest rounding mode in MXCSR). Use intrinsic to use this rather than round (sse41) or bit manipulation whenever possible.
* gallivm: fix trunc/itrunc commentRoland Scheidegger2010-10-091-6/+6
| | | | trunc of -1.5 is -1.0 not 1.0...
* i915: Silence unused variable warning in non-debug builds.Vinson Lee2010-10-081-0/+1
| | | | | | Fixes this GCC warning. i830_vtbl.c: In function 'i830_assert_not_dirty': i830_vtbl.c:704: warning: unused variable 'i830'
* glsl: Remove const decoration from inlined function parametersIan Romanick2010-10-081-0/+7
| | | | | | | | | | | The constness of the function parameter gets inlined with the rest of the function. However, there is also an assignment to the parameter. If this occurs inside a loop the loop analysis code will get confused by the assignment to a read-only variable. Fixes bugzilla #30552. NOTE: this is a candidate for the 7.9 branch.
* intel: Enable GL_ARB_explicit_attrib_locationIan Romanick2010-10-081-0/+1
|
* main: Enable GL_ARB_explicit_attrib_location for swrastIan Romanick2010-10-081-1/+2
|
* glsl: Add linker support for explicit attribute locationsIan Romanick2010-10-083-4/+48
|
* glsl: Track explicit location in AST to IR translationIan Romanick2010-10-084-0/+60
|
* glsl: Regenerate files changes by previous commitIan Romanick2010-10-082-902/+956
|
* glsl: Add parser support for GL_ARB_explicit_attrib_location layoutsIan Romanick2010-10-085-4/+75
| | | | | Only layout(location=#) is supported. Setting the index requires GLSL 1.30 and GL_ARB_blend_func_extended.
* glcpp: Regenerate files changes by previous commitIan Romanick2010-10-082-124/+120
|
* glcpp: Add the define for ARB_explicit_attrib_location when presentIan Romanick2010-10-081-0/+3
|
* glsl: Regenerate files modified by previous commitsIan Romanick2010-10-083-1412/+1431
|
* glsl: Wrap ast_type_qualifier contents in a struct in a unionIan Romanick2010-10-085-100/+109
| | | | This will ease adding non-bit fields in the near future.
* glsl: Clear type_qualifier using memsetIan Romanick2010-10-081-19/+86
|
* glsl: Slight refactor of error / warning checking for ARB_fcc layoutIan Romanick2010-10-081-9/+7
|
* glsl: Refactor 'layout' grammar to match GLSL 1.60 spec grammarIan Romanick2010-10-081-10/+21
|
* glsl: Fail linking if assign_attribute_locations failsIan Romanick2010-10-081-1/+3
|
* r600g: Silence uninitialized variable warning.Vinson Lee2010-10-081-1/+2
|
* r600g: Silence uninitialized variable warning.Vinson Lee2010-10-081-1/+2
|
* r600g: Silence uninitialized variable warning.Vinson Lee2010-10-081-1/+2
|
* gallivm: Remove unnecessary header.Vinson Lee2010-10-081-1/+0
|
* i965: Add register coalescing to the new FS backend.Eric Anholt2010-10-081-0/+80
| | | | | | | Improves performance of my GLSL demo 14.3% (+/- 4%, n=4) by eliminating the moves used in ir_assignment and ir_swizzle handling. Still 16.5% to go to catch up to the Mesa IR backend, presumably because instructions are almost perfectly mis-scheduled now.
* i965: Enable attribute swizzling (repositioning) in the gen6 SF.Eric Anholt2010-10-081-1/+2
| | | | | | | | | We were trying to remap a fully-filled array down to only handing the WM the components it uses. This is called attribute swizzling, and if you don't enable it you just get 1:1 mappings of inputs to outputs. This almost fixes glsl-routing, except for the highest gl_TexCoord[] indices.
* i965: Fix new FS gen6 interpolation for sparsely-populated arrays.Eric Anholt2010-10-081-1/+1
| | | | We'd overwrite the same element twice.
* i965: Fix gen6 WM push constants updates.Eric Anholt2010-10-081-1/+2
| | | | | | We would compute a new buffer, but never point the hardware at the new buffer. This partially fixes glsl-routing, as now it get the updated uniform for which attribute to draw.
* gallivm: Help for combined extraction and broadcasting.José Fonseca2010-10-083-15/+102
| | | | Doesn't change generated code quality, but saves some typing.
* llvmpipe: First minify the texture size, then broadcast.José Fonseca2010-10-083-32/+42
|
* gallivm: Move into the as much of the second level code as possible.José Fonseca2010-10-085-219/+120
| | | | | Also, pass more stuff trhough the sample build context, instead of arguments.
* i965: Handle swizzles in the addition of YUV texture constants.Eric Anholt2010-10-081-2/+5
| | | | | If someone happened to land a set in a different swizzle order, we would have assertion failed.
* i965: Drop the check for YUV constants in the param list.Eric Anholt2010-10-081-13/+0
| | | | _mesa_add_unnamed_constant() already does that.
* i965: Drop the check for duplicate _mesa_add_state_reference.Eric Anholt2010-10-081-6/+0
| | | | _mesa_add_state_reference does that check for us anyway.
* mesa: Simplify a bit of _mesa_add_state_reference using memcmp.Eric Anholt2010-10-081-12/+3
|
* gallivm: Warn when doing inefficient integer comparisons.José Fonseca2010-10-081-2/+18
|
* gallivm: Avoid control flow for two-sided stencil test.José Fonseca2010-10-081-92/+58
|
* llvmpipe: fix off-by-one in tri_16Keith Whitwell2010-10-081-1/+1
|
* llvmpipe: add rast_tri_4_16 for small lines and pointsKeith Whitwell2010-10-087-148/+161
|
* llvmpipe: clean up setup_tri a littleKeith Whitwell2010-10-081-27/+26
|
* gallivm: round rather than truncate in new 4x4f->1x16ub conversion pathKeith Whitwell2010-10-081-17/+42
|
* gallivm: Use the wrappers for SSE pack intrinsics.José Fonseca2010-10-081-15/+3
| | | | Fixes assertion failures on LLVM 2.6.
* gallivm: special case conversion 4x4f to 1x16ubKeith Whitwell2010-10-081-0/+84
| | | | | Nice reduction in the number of operations required for final color output in many shaders.
* llvmpipe: avoid overflow in triangle cullingKeith Whitwell2010-10-081-40/+39
| | | | | | | | | | | Avoid multiplying fixed-point values. Calculate triangle area in floating point use that for culling. Lift area calculations up a level as we are already doing this in the triangle_both() case. Would like to share the calculated area with attribute interpolation, but the way the code is structured makes this difficult.
* llvmpipe: fail gracefully on oom in scene creationKeith Whitwell2010-10-086-42/+92
|
* gallivm: Implement brilinear filtering.José Fonseca2010-10-081-1/+89
|
* gallivm: Fix copy'n'paste typo in previous commit.José Fonseca2010-10-081-2/+2
|
* gallivm: Clamp mipmap level and zero mip weight simultaneously.José Fonseca2010-10-084-14/+52
|
* gallivm: Use lp_build_ifloor_fract for lod computation.José Fonseca2010-10-081-5/+3
| | | | Forgot this one before.