summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* r600g: indentation cleanupJerome Glisse2010-12-092-23/+21
| | | | Signed-off-by: Jerome Glisse <[email protected]>
* r600g: specialized upload managerJerome Glisse2010-12-098-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 <[email protected]>
* r600g: avoid using pb* helper we are loosing previous cpu cycle with itJerome Glisse2010-12-099-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 <[email protected]>
* glsl: fix lowering conditional returns in subroutinesFabian Bieler2010-12-091-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.
* i965: remove unused variable since brw_wm_glsl.c removal.Eric Anholt2010-12-092-2/+1
|
* i965: Set render_cache_read_write surface state bit on gen6 constant surfs.Eric Anholt2010-12-092-0/+9
| | | | This is said to be required in the spec, even when you aren't doing writes.
* i965: Set up the correct texture border color state struct for Ironlake.Eric Anholt2010-12-092-5/+45
| | | | | This doesn't actually fix border color on Ironlake, but it appears to be a requirement, and gen6 needs it too.
* i965: Clean up VS constant buffer location setup.Eric Anholt2010-12-091-15/+3
|
* i965: Fix VS constants regression pre-gen6.Eric Anholt2010-12-091-1/+1
| | | | Last minute change for gen6 with 0 used params dropped the multiply.
* llvmpipe: Plug fence leaks.José Fonseca2010-12-092-0/+3
|
* mesa: allow GLfixed arrays for OpenGL ES 2.0Shuang He2010-12-091-2/+2
| | | | Signed-off-by: Brian Paul <[email protected]>
* mesa: Fix glTexCoordPointer with type GL_FIXED.Chia-I Wu2010-12-091-1/+2
| | | | GL_FIXED is also a legal type for glTexCoordPointer.
* mesa: Fix GL_FIXED arrays.Chia-I Wu2010-12-091-0/+2
| | | | It is broken since 433e5e6defc85d8b1d6262aff990e3f5a8b37027.
* i965: Drop push-mode reladdr constant loading and always use constant_map.Eric Anholt2010-12-084-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.
* radeon: bump mip tree levels to 15Alex Deucher2010-12-091-1/+1
| | | | I forgot to bump this when I bumped the tex levels.
* mesa: simplify target checking for TexImage functionsBrian Paul2010-12-081-8/+18
|
* mesa: revamp error checking for compressed texture imagesBrian Paul2010-12-081-67/+44
| | | | Simplify some code, remove unneeded checks, etc.
* glsl: In ast_to_hir, check sampler array indexingChad Versace2010-12-081-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 [...]."
* i965: Drop KIL_NV from the ff/ARB_fp path since it was only used for GLSL.Eric Anholt2010-12-083-21/+0
|
* i965: Use the new pixel mask location for gen6 ARB_fp KIL instructions.Eric Anholt2010-12-081-2/+8
| | | | | | Fixes: fp-kil fp-generic/kil-swizzle.
* i965: Set the render target index in gen6 fixed-function/ARB_fp path.Eric Anholt2010-12-081-0/+7
| | | | | | Fixes: fbo-drawbuffers2-blend fbo-drawbuffers2-colormask
* i965: Set up the per-render-target blend state on gen6.Eric Anholt2010-12-081-46/+49
| | | | This will let us get EXT_draw_buffers2 blending and colormasking working.
* i965: Set up the color masking for the first drawbuffer on gen6.Eric Anholt2010-12-081-0/+9
| | | | Fixes glean/maskedClear
* mesa: Do not advertise GL_OES_texture_3D.Chia-I Wu2010-12-081-0/+4
| | | | | GL_OES_texture_3D has a GLSL counterpart. Since it is not implemented, GL_OES_texture_3D should not be advertised.
* vbo: Fix GLES2 glVertexAttrib.Chia-I Wu2010-12-083-60/+74
| | | | | | | | | 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*.
* vbo: Drop second ATTR macro.Chia-I Wu2010-12-081-27/+1
| | | | | There is no need to have a special version of ATTR for !FEATURE_beginend, since 81ccb3e2ce708619f4c23537a237d61bdffdd35f.
* mesa: make _mesa_test_proxy_teximage() easier to readBrian Paul2010-12-071-55/+71
|
* mesa: consolidate glCompressedTexImage1/2/3D() functionsBrian Paul2010-12-071-374/+190
|
* mesa: consolidate glCopyTexSubImage1/2/3D() functionsBrian Paul2010-12-071-145/+63
|
* mesa: consolidate glCopyTexImage1/2D() codeBrian Paul2010-12-071-148/+90
|
* mesa: consolidate the glTexSubImage1/2/3D() functionsBrian Paul2010-12-071-165/+86
|
* mesa: simplify proxy texture code in texture_error_check()Brian Paul2010-12-071-49/+51
|
* r300/compiler: remove at least unused immediates if externals cannot be removedMarek Olšák2010-12-083-8/+6
|
* r300/compiler: make lowering passes possibly use up to two less tempsMarek Olšák2010-12-081-63/+86
| | | | | | | | | CMP may now use two less temps, other non-native instructions may end up using one less temp, except for SIN/COS/SCS, which I am leaving unchanged for now. This may reduce register pressure inside loops, because the register allocator doesn't do a very good job there.
* r300/compiler: handle DPH and XPD in rc_compute_sources_for_writemaskMarek Olšák2010-12-081-0/+5
| | | | This bug can only be triggered if you put deadcode before native rewrite.
* r300/compiler: do not print pair/tex/presub program stats for vertex shadersMarek Olšák2010-12-081-16/+30
|
* r300/compiler: cleanup rc_run_compilerMarek Olšák2010-12-084-15/+36
|
* r300/compiler: add a function to query program stats (alu, tex, temps..)Marek Olšák2010-12-082-15/+39
|
* r300/compiler: don't terminate regalloc if we surpass max temps limitMarek Olšák2010-12-081-11/+6
| | | | The same check is already in a later pass (translate_vertex_program).
* i965: Don't try to store gen6 (float) blend constant color in bytes.Eric Anholt2010-12-071-1/+1
| | | | Fixes glean/blendFunc
* linker: Fix regressions caused by previous commitIan Romanick2010-12-071-12/+16
| | | | | | | | | That's what I get for not running piglit before pushing. Don't try to patch types of unsized arrays when linking fails. Don't try to patch types of unsized arrays that are shared between shader stages.
* linker: Ensure that unsized arrays have a size after linkingIan Romanick2010-12-071-1/+27
| | | | | | | Fixes piglit test case glsl-vec-array (bugzilla #31908). NOTE: This bug does not affect 7.9, but I think this patch is a candiate for the 7.9 branch anyway.
* i965: Fix flipped value of the not-embedded-in-if on gen6.Eric Anholt2010-12-071-1/+1
| | | | | | Fixes: glean/glsl1-! (not) operator (1, fail) glean/glsl1-! (not) operator (1, pass)
* glsl: Inherrit type of declared variable from initializerIan Romanick2010-12-071-0/+18
| | | | | | | | | | | | | Types of declared variables and their initializer must match excatly except for unsized arrays. Previously the type inherritance for unsized arrays happened implicitly in the emitted assignment. However, this assignment is never emitted for uniforms. Now that type is explicitly copied unconditionally. Fixes piglit test array-compare-04.vert (bugzilla #32035) and glsl-array-uniform-length (bugzilla #31985). NOTE: This is a candidate for the 7.9 branch.
* i965: Work around gen6 ignoring source modifiers on math instructions.Eric Anholt2010-12-073-3/+26
| | | | | | | | | | | | | | | With the change of extended math from having the arguments moved into mrfs and handed off through message passing to being directly hooked up to the EU, it looks like the piece for doing source modifiers (negate and abs) was left out. Fixes: fog-modes glean/fp1-ARB_fog_exp test glean/fp1-ARB_fog_exp2 test glean/fp1-Computed fog exp test glean/fp1-Computed fog exp2 test ext_fog_coord-modes
* i965: Add disabled debug code for dumping out the WM constant payload.Eric Anholt2010-12-071-0/+15
| | | | This can significantly ease thinking about the asm.
* i965: Correctly emit constants for aggregate types (array, matrix, struct)Ian Romanick2010-12-071-19/+61
| | | | | | | Previously the code only handled scalars and vectors. This new code is modeled somewhat after similar code in ir_to_mesa. Reviewed-by: Eric Anholt <[email protected]>
* r600g: fix userspace fence against lastest kernelJerome Glisse2010-12-072-0/+3
| | | | | | | | | | | | | R6XX GPU doesn't like to have two partial flush writting back to memory in row without a prior flush of the pipeline. Add PS_PARTIAL_FLUSH to flush all work between the CP and the ES, GS, VS, PS shaders. Thanks a lot to Alban Browaeys (prahal on irc) for investigating this issue. Signed-off-by: Alban Browaeys <[email protected]> Signed-off-by: Jerome Glisse <[email protected]>
* r600g: remove dead codeJerome Glisse2010-12-076-268/+8
| | | | Signed-off-by: Jerome Glisse <[email protected]>
* i965: Always hand the absolute value to RSQ.Eric Anholt2010-12-072-1/+6
| | | | | | | | | | gen6 builtin RSQ apparently clamps negative values to 0 instead of returning the RSQ of the absolute value like ARB_fragment_program desires and pre-gen6 apparently does. Fixes: glean/fp1-RSQ test 2 (reciprocal square root of negative value) glean/vp1-RSQ test 2 (reciprocal square root of negative value)