Ian Romanick
dc459f8756
intel: Enable GL_ARB_explicit_attrib_location
2010-10-08 14:21:23 -07:00
Ian Romanick
dbc6c9672d
main: Enable GL_ARB_explicit_attrib_location for swrast
2010-10-08 14:21:23 -07:00
Ian Romanick
68a4fc9d5a
glsl: Add linker support for explicit attribute locations
2010-10-08 14:21:23 -07:00
Ian Romanick
eee68d3631
glsl: Track explicit location in AST to IR translation
2010-10-08 14:21:23 -07:00
Ian Romanick
2b45ba8bce
glsl: Regenerate files changes by previous commit
2010-10-08 14:21:23 -07:00
Ian Romanick
7f68cbdc4d
glsl: Add parser support for GL_ARB_explicit_attrib_location layouts
...
Only layout(location=#) is supported. Setting the index requires GLSL
1.30 and GL_ARB_blend_func_extended.
2010-10-08 14:21:22 -07:00
Ian Romanick
eafebed5bd
glcpp: Regenerate files changes by previous commit
2010-10-08 14:21:22 -07:00
Ian Romanick
e0c9f67be5
glcpp: Add the define for ARB_explicit_attrib_location when present
2010-10-08 14:21:22 -07:00
Ian Romanick
5ed6610d11
glsl: Regenerate files modified by previous commits
2010-10-08 14:21:22 -07:00
Ian Romanick
e24d35a5b5
glsl: Wrap ast_type_qualifier contents in a struct in a union
...
This will ease adding non-bit fields in the near future.
2010-10-08 14:21:22 -07:00
Ian Romanick
5ff4cfb788
glsl: Clear type_qualifier using memset
2010-10-08 14:21:22 -07:00
Ian Romanick
fd2aa7d313
glsl: Slight refactor of error / warning checking for ARB_fcc layout
2010-10-08 14:21:22 -07:00
Ian Romanick
dd93035a4d
glsl: Refactor 'layout' grammar to match GLSL 1.60 spec grammar
2010-10-08 14:21:22 -07:00
Ian Romanick
4b5489dd6f
glsl: Fail linking if assign_attribute_locations fails
2010-10-08 14:21:22 -07:00
Vinson Lee
3b16c591a4
r600g: Silence uninitialized variable warning.
2010-10-08 14:17:14 -07:00
Vinson Lee
36b65a373a
r600g: Silence uninitialized variable warning.
2010-10-08 14:14:16 -07:00
Vinson Lee
131485efae
r600g: Silence uninitialized variable warning.
2010-10-08 14:08:50 -07:00
Vinson Lee
5e90971475
gallivm: Remove unnecessary header.
2010-10-08 14:03:10 -07:00
Eric Anholt
c52a0b5c7d
i965: Add register coalescing to the new FS backend.
...
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.
2010-10-08 13:22:27 -07:00
Eric Anholt
80c0077a6f
i965: Enable attribute swizzling (repositioning) in the gen6 SF.
...
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.
2010-10-08 12:00:04 -07:00
Eric Anholt
cac04a9397
i965: Fix new FS gen6 interpolation for sparsely-populated arrays.
...
We'd overwrite the same element twice.
2010-10-08 11:59:19 -07:00
Eric Anholt
624ce6f61b
i965: Fix gen6 WM push constants updates.
...
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.
2010-10-08 11:59:19 -07:00
José Fonseca
3fde8167a5
gallivm: Help for combined extraction and broadcasting.
...
Doesn't change generated code quality, but saves some typing.
2010-10-08 19:48:16 +01:00
José Fonseca
438390418d
llvmpipe: First minify the texture size, then broadcast.
2010-10-08 19:11:52 +01:00
José Fonseca
f5b5fb32d3
gallivm: Move into the as much of the second level code as possible.
...
Also, pass more stuff trhough the sample build context, instead of
arguments.
2010-10-08 19:11:52 +01:00
Eric Anholt
5b24d69fcd
i965: Handle swizzles in the addition of YUV texture constants.
...
If someone happened to land a set in a different swizzle order, we
would have assertion failed.
2010-10-08 10:24:30 -07:00
Eric Anholt
0534e958c9
i965: Drop the check for YUV constants in the param list.
...
_mesa_add_unnamed_constant() already does that.
2010-10-08 10:24:29 -07:00
Eric Anholt
fa8aba9da4
i965: Drop the check for duplicate _mesa_add_state_reference.
...
_mesa_add_state_reference does that check for us anyway.
2010-10-08 10:24:29 -07:00
Eric Anholt
e310c22bb7
mesa: Simplify a bit of _mesa_add_state_reference using memcmp.
2010-10-08 10:24:29 -07:00
José Fonseca
6b0c79e058
gallivm: Warn when doing inefficient integer comparisons.
2010-10-08 17:43:15 +01:00
José Fonseca
d5ef59d8b0
gallivm: Avoid control flow for two-sided stencil test.
2010-10-08 17:43:15 +01:00
Keith Whitwell
ef3407672e
llvmpipe: fix off-by-one in tri_16
2010-10-08 17:30:08 +01:00
Keith Whitwell
0ff132e5a6
llvmpipe: add rast_tri_4_16 for small lines and points
2010-10-08 17:30:08 +01:00
Keith Whitwell
eeb13e2352
llvmpipe: clean up setup_tri a little
2010-10-08 17:30:08 +01:00
Keith Whitwell
e191bf4a85
gallivm: round rather than truncate in new 4x4f->1x16ub conversion path
2010-10-08 17:30:08 +01:00
José Fonseca
f91b4266c6
gallivm: Use the wrappers for SSE pack intrinsics.
...
Fixes assertion failures on LLVM 2.6.
2010-10-08 17:30:08 +01:00
Keith Whitwell
607e3c542c
gallivm: special case conversion 4x4f to 1x16ub
...
Nice reduction in the number of operations required for final color
output in many shaders.
2010-10-08 17:30:08 +01:00
Keith Whitwell
29d6a1483d
llvmpipe: avoid overflow in triangle culling
...
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.
2010-10-08 17:30:08 +01:00
Keith Whitwell
ad6730fadb
llvmpipe: fail gracefully on oom in scene creation
2010-10-08 17:26:29 +01:00
José Fonseca
eb605701aa
gallivm: Implement brilinear filtering.
2010-10-08 15:50:28 +01:00
José Fonseca
c8179ef5e8
gallivm: Fix copy'n'paste typo in previous commit.
2010-10-08 14:09:22 +01:00
José Fonseca
df7a2451b1
gallivm: Clamp mipmap level and zero mip weight simultaneously.
2010-10-08 14:06:38 +01:00
José Fonseca
0d84b64a4f
gallivm: Use lp_build_ifloor_fract for lod computation.
...
Forgot this one before.
2010-10-08 14:06:38 +01:00
José Fonseca
4f2e2ca4e3
gallivm: Don't compute the second mipmap level when frac(lod) == 0
2010-10-08 14:06:37 +01:00
José Fonseca
05fe33b71c
gallivm: Simplify lp_build_mipmap_level_sizes' interface.
2010-10-08 14:06:37 +01:00
José Fonseca
4eb222a3e6
gallivm: Do not do mipfiltering when magnifying.
...
If lod < 0, then invariably follows that ilevel0 == ilevel1 == 0.
2010-10-08 14:06:37 +01:00
Vinson Lee
1f01f5cfcf
r600g: Remove unnecessary header.
2010-10-08 04:56:49 -07:00
Dave Airlie
8d6a38d7b3
r600g: drop width/height per level storage.
...
these aren't used anywhere, so just waste memory.
2010-10-08 19:55:05 +10:00
Eric Anholt
bbb840049e
i965: Normalize cubemap coordinates like is done in the Mesa IR path.
...
Fixes glsl-fs-texturecube-2-*
2010-10-07 16:41:13 -07:00
Eric Anholt
4d202da7a4
i965: Disable emitting if () statements on gen6 until we really fix them.
2010-10-07 16:41:13 -07:00