Jerome Glisse
7055068eea
r600g: specialized upload manager
...
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-09 16:07:05 -05:00
Jerome Glisse
15753cf54d
r600g: avoid using pb* helper we are loosing previous cpu cycle with it
...
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-09 16:07:01 -05:00
Fabian Bieler
ef534f3838
glsl: fix lowering conditional returns in subroutines
...
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-09 11:28:06 -08:00
Eric Anholt
834cc8e501
i965: remove unused variable since brw_wm_glsl.c removal.
2010-12-09 11:11:04 -08:00
Eric Anholt
cfcc2ef587
i965: Set render_cache_read_write surface state bit on gen6 constant surfs.
...
This is said to be required in the spec, even when you aren't doing writes.
2010-12-09 11:11:04 -08:00
Eric Anholt
30f25a1019
i965: Set up the correct texture border color state struct for Ironlake.
...
This doesn't actually fix border color on Ironlake, but it appears to
be a requirement, and gen6 needs it too.
2010-12-09 10:51:00 -08:00
Eric Anholt
14a9153a32
i965: Clean up VS constant buffer location setup.
2010-12-09 10:51:00 -08:00
Eric Anholt
8fab1c0e2e
i965: Fix VS constants regression pre-gen6.
...
Last minute change for gen6 with 0 used params dropped the multiply.
2010-12-09 10:50:59 -08:00
José Fonseca
cdd4f04f80
llvmpipe: Plug fence leaks.
2010-12-09 16:48:26 +00:00
Christoph Bumiller
e32ec11278
nvc0: call grobj_alloc for all used classes
...
Only doing this to notify the DRM that we need a PGRAPH context,
nvc0 hardware doesn't use actual grobjs anymore.
2010-12-09 17:41:13 +01:00
Shuang He
9946f15d30
mesa: allow GLfixed arrays for OpenGL ES 2.0
...
Signed-off-by: Brian Paul <brianp@vmware.com>
2010-12-09 08:23:54 -07:00
Christoph Bumiller
92f3642a4f
nvc0: write texture address to TIC with a RELOC
...
Direct access to the bo address requires an API change.
2010-12-09 15:22:17 +01:00
Christoph Bumiller
6e753e3c29
nvc0: use tile flags in a way compatible with nouveau
2010-12-09 15:08:29 +01:00
Christoph Bumiller
3ef1616b63
nvc0: buffer suballocation with a primitive slab allocator
2010-12-09 15:01:37 +01:00
Christoph Bumiller
0d1a2bd0fb
nvc0: generate shader header for geometry programs
2010-12-09 14:44:21 +01:00
Christoph Bumiller
14a09095d3
nvc0: fix immediate arg for SHL/SHR
2010-12-09 14:43:11 +01:00
Christoph Bumiller
2bb377ee02
nvc0: index buffers are back
...
Probably because long methods are gone index buffers must be
explicit again.
2010-12-09 14:41:33 +01:00
Christoph Bumiller
7fa7229560
nvc0: upload constants with m2mf for the time being
...
I get mysterious lockups with the dedicated CB upload ...
2010-12-09 14:35:26 +01:00
Chia-I Wu
0c0eda393a
mesa: Fix glTexCoordPointer with type GL_FIXED.
...
GL_FIXED is also a legal type for glTexCoordPointer.
2010-12-09 19:37:56 +08:00
Chia-I Wu
2d270ac090
mesa: Fix GL_FIXED arrays.
...
It is broken since 433e5e6def .
2010-12-09 19:25:05 +08:00
Christoph Bumiller
5655f8d42d
nvc0: support primitive restart
2010-12-09 12:08:25 +01:00
Christoph Bumiller
548967f9fa
nvc0: rcp f32 also supports neg and abs modifiers
2010-12-09 12:05:03 +01:00
Eric Anholt
05e534e6c4
i965: Drop push-mode reladdr constant loading and always use constant_map.
...
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-08 22:26:18 -08:00
Alex Deucher
fd543e1f95
radeon: bump mip tree levels to 15
...
I forgot to bump this when I bumped the tex levels.
2010-12-09 00:16:02 -05:00
Brian Paul
09a5e028a6
mesa: simplify target checking for TexImage functions
2010-12-08 21:38:35 -07:00
Brian Paul
7404fa3f07
mesa: revamp error checking for compressed texture images
...
Simplify some code, remove unneeded checks, etc.
2010-12-08 21:38:35 -07:00
Chad Versace
f0f2ec4d8a
glsl: In ast_to_hir, check sampler array indexing
...
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-08 18:53:53 -08:00
Brian Paul
dcb48e7eb4
llvmpipe: enable instanced drawing cap
2010-12-08 19:06:22 -07:00
Brian Paul
cf2184f057
softpipe: enable instanced drawing cap
2010-12-08 19:04:16 -07:00
Brian Paul
1d6f3543a0
gallivm/llvmpipe: implement system values and instanceID
2010-12-08 19:04:11 -07:00
Brian Paul
2b5e1e5287
st/mesa: translate shader system inputs
2010-12-08 19:01:15 -07:00
Brian Paul
2d62fb6c3f
draw: setup instance ID for SSE generator
2010-12-08 19:00:44 -07:00
Brian Paul
0be042cb4d
draw: setup instance ID for VS interpreter
2010-12-08 19:00:32 -07:00
Brian Paul
691048a22a
mesa: ir_to_mesa support for system values
2010-12-08 18:25:58 -07:00
Brian Paul
7ce186358e
glsl: add support for system values and GL_ARB_draw_instanced
2010-12-08 18:25:38 -07:00
Brian Paul
379332f629
mesa: program printing for PROGRAM_SYSTEM_VALUE
2010-12-08 18:24:48 -07:00
Brian Paul
c6d74bcbfc
mesa: add PROGRAM_SYSTEM_VALUE and related tokens
...
System values are shader inputs which don't necessarily change from
vertex to vertex or fragment to fragment. gl_InstanceID and
gl_FrontFacing are examples.
2010-12-08 18:21:20 -07:00
Brian Paul
975418a654
tgsi/ppc: add case for system values and assert
2010-12-08 18:20:44 -07:00
Brian Paul
e8154eeae5
tgsi/sse: add support for system values
2010-12-08 18:20:05 -07:00
Brian Paul
b550d8d76b
tgsi: new tgsi_shader_info fields for system values
2010-12-08 18:19:47 -07:00
Brian Paul
859f45a921
tgsi: add support for system values to TGSI interpreter
2010-12-08 18:19:14 -07:00
Eric Anholt
d547ab150a
i965: Drop KIL_NV from the ff/ARB_fp path since it was only used for GLSL.
2010-12-08 11:14:52 -08:00
Eric Anholt
dba6fde08c
i965: Use the new pixel mask location for gen6 ARB_fp KIL instructions.
...
Fixes:
fp-kil
fp-generic/kil-swizzle.
2010-12-08 11:14:35 -08:00
Eric Anholt
39eaacff14
i965: Set the render target index in gen6 fixed-function/ARB_fp path.
...
Fixes:
fbo-drawbuffers2-blend
fbo-drawbuffers2-colormask
2010-12-08 10:51:04 -08:00
Eric Anholt
4b4dc778b6
i965: Set up the per-render-target blend state on gen6.
...
This will let us get EXT_draw_buffers2 blending and colormasking working.
2010-12-08 10:50:57 -08:00
Eric Anholt
0d3b8a5cc2
i965: Set up the color masking for the first drawbuffer on gen6.
...
Fixes glean/maskedClear
2010-12-08 09:53:16 -08:00
Chia-I Wu
d2028ba339
mesa: Do not advertise GL_OES_texture_3D.
...
GL_OES_texture_3D has a GLSL counterpart. Since it is not implemented,
GL_OES_texture_3D should not be advertised.
2010-12-08 22:35:40 +08:00
Chia-I Wu
98ee6739d9
vbo: Fix GLES2 glVertexAttrib.
...
Attribute 0 has no special meaning in GLES2. Add VertexAttrib4f_nopos
for that purpose and make _es_VertexAttrib* call the new function.
Rename _vbo_* to _es_* to avoid confusion. These functions are only
used by GLES, and now some of them (_es_VertexAttrib*) even behave
differently than vbo_VertexAttrib*.
2010-12-08 22:19:19 +08:00
Chia-I Wu
9f0d7dd259
vbo: Drop second ATTR macro.
...
There is no need to have a special version of ATTR for
!FEATURE_beginend, since 81ccb3e2ce .
2010-12-08 22:18:37 +08:00
Brian Paul
7da704ee72
configure: use llvm-config --cppflags instead of --cflags
2010-12-08 06:45:00 -07:00