summaryrefslogtreecommitdiff
path: root/src/mesa
AgeCommit message (Collapse)Author
2009-11-13i965: Avoid moving the current value back into the accumulator for MAD.Eric Anholt
This is a 2.9% (+/-.3%) performance win for my GL demo, which hits MAD sequences for matrix transforms.
2009-11-13mesa: Improve the eliminate-move-use to work across multiple instructions.Eric Anholt
This shaves more instructions off of the VS of my GL demo, but no performance difference this time at n=6. This also fixes a regression that was in this path, which is now piglit's glsl-vs-mov-after-deref.
2009-11-12intel: Don't check for context pointer to be NULL during extension initIan Romanick
Thanks to Chia-I Wu's changes to the extension function infrastructure, we no longer have to tell the loader which extensions the driver might enable. This means that intelInitExtensions will never be called with a NULL context pointer. Remove all the NULL checks. Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Eric Anholt <eric@anholt.net>
2009-11-12intel: Remove unused enable_imaging parameter to intelInitExtensionsIan Romanick
2009-11-11swrast: handle additional Z24 formats in read_depth_pixels()Brian Paul
2009-11-11r300, r300g: Add missing registers.Corbin Simpson
2009-11-10swrast: update renderbuffer format assertionsbrian
2009-11-10mesa: fix some begin/end render-to-texture logicbrian
Before, we weren't aggressive enough in checking for the start or end of render-to-texture. In particular, if only the ctx->ReadBuffer had texture attachments, we were treating that as a render-to-texture case. This fixes a regression from commit 75bdbdd90b15c8704d87ca195a364ff6a42edbb1 "intel: Don't validate in a texture image used as a render target."
2009-11-10mesa: move check_begin/end_texture_render() callsbrian
2009-11-10mesa: new vars: oldDrawFb, oldReadFb in _mesa_BindFramebufferEXT()brian
2009-11-10mesa: rename vars in _mesa_BindFramebufferEXT()brian
2009-11-10mesa: added comment for check_begin_texture_render()brian
2009-11-10Merge remote branch 'origin/mesa_7_6_branch'Eric Anholt
2009-11-10i965: avoid memsetting all the BRW_WM_MAX_INSN arrays for every compile.Eric Anholt
For an app that's blowing out the state cache, like sauerbraten, the memset of the giant arrays ended up taking 11% of the CPU even when only a "few" of the entries got used. With this, the WM program compile drops back down to 1% of CPU time. Bug #24981 (bisected to BRW_WM_MAX_INSN increase).
2009-11-10i965: Add a note explaining the data cache domain.Eric Anholt
2009-11-10i965: Fix VS constant buffer value loading.Eric Anholt
Previously, we'd load linearly from ParameterValues[0] for the constants, though ParameterValues[1] may not equal ParameterValues[0] + 4. Additionally, the STATE_VAL type paramters didn't get updated. Fixes piglit vp-constant-array-huge.vpfp and ET:QW object locations. Bug #23226.
2009-11-10i965: Unalias src/dst registers for SGE and friends.Eric Anholt
Fixes piglit vp-sge-alias test, and the googleearth ground shader. \o/ Bug #22228 (cherry picked from commit 56ab92bad8f1d05bc22b8a8471d5aeb663f220de)
2009-11-10i965: Allow use of PROGRAM_LOCAL constants in ARB_vp.Eric Anholt
Fixes piglit arl.vp. (cherry picked from commit d52d78b4bcd6d4c0578f972c0b8ebac09e632196)
2009-11-10i965: Unalias src/dst registers for SGE and friends.Eric Anholt
Fixes piglit vp-sge-alias test, and the googleearth ground shader. \o/ Bug #22228
2009-11-10i965: Allow use of PROGRAM_LOCAL constants in ARB_vp.Eric Anholt
Fixes piglit arl.vp.
2009-11-10slang: Fix return value check.Michal Krol
2009-11-10slang: Check OOM conditions for alloc_node_storage().Michal Krol
2009-11-10slang: Check return value from new_instruction().Michal Krol
2009-11-10slang: Fix signed/unsigned int handling in _slang_free_temp().Michal Krol
2009-11-10slang: Handle OOM condition in new_instruction().Michal Krol
2009-11-09r600/r700: typo, fix mask of DB_ALPHA_TO_MASKJerome Glisse
2009-11-09r600: don't emit htile regsAlex Deucher
These are needed for HiZ which is not currently used and the _BASE reg requires a reloc which is not currently supported in the drm.
2009-11-09r600: rework DB render setupAlex Deucher
- consolidate DB render setup - only enable perfect ZPASS counts and cull disable when OQ is active - enable early Z
2009-11-09r600: don't emit htile regsAlex Deucher
These are needed for HiZ which is not currently used and the _BASE reg requires a reloc which is not currently supported in the drm.
2009-11-09r600: add missing ZPASS setup bits for r7xx+Alex Deucher
2009-11-07prog parse: Handle GL_VERTEX_PROGRAM_ARB in glLoadProgramNVIan Romanick
2009-11-07prog parse: Handle GL_VERTEX_PROGRAM_NV in glProgramStringARBIan Romanick
Handle both NV vertex programs and NV vertex state programs passed to glProgramStringARB.
2009-11-07prog parse: Handle GL_FRAGMENT_PROGRAM_ARB in glLoadProgramNVIan Romanick
2009-11-07prog parse: Handle GL_FRAGMENT_PROGRAM_NV in glProgramStringARBIan Romanick
2009-11-07mesa: move code after declbrian
Fixes bug 24967.
2009-11-06i965: Use Compr4 instruction compression mode on G4X and newer.Eric Anholt
No statistically significant performance difference at n=3 with either openarena or my GL demo, but cutting program size seems like a good thing to be doing for the hypothetical app that has a working set near icache size.
2009-11-06i965: Share min/max between brw_wm_emit.c and brw_wm_glsl.cEric Anholt
2009-11-06i965: Share emit_fb_write() between brw_wm_emit.c and brw_wm_glsl.cEric Anholt
This should fix issues with antialiased lines in GLSL.
2009-11-06i965: Share most of the WM functions between brw_wm_glsl.c and brw_wm_emit.cEric Anholt
The PINTERP code should be faster for brw_wm_glsl.c now since brw_wm_emit.c's had been improved, and pixel_w should no longer stomp on a neighbor to dst.
2009-11-06i965: Share math functions between brw_wm_glsl.c and brw_wm_emit.c.Eric Anholt
2009-11-06i965: Share the sop opcodes between brw_wm_glsl.c and brw_wm_emit.c.Eric Anholt
2009-11-06i965: Share OPCODE_MAD between brw_wm_glsl.c and brw_wm_emit.cEric Anholt
2009-11-06i965: Share the DP3, DP4, and DPH between brw_wm_glsl.c and brw_wm_emit.cEric Anholt
2009-11-06i965: Add generic GLSL code for unaliasing a 3-arg opcode, and share LRP code.Eric Anholt
2009-11-06i965: Use a normal alu1 emit for OPCODE_TRUNC.Eric Anholt
2009-11-06i965: Share basic ALU ops between brw_wm_glsl and brw_wm_emit.cEric Anholt
This drops support for get_src_reg_imm in these, but the prospect of getting brw_wm_pass*.c onto our GLSL path is well worth some temporary pain.
2009-11-06i965: Collect GLSL src/dst regs up in generic code.Eric Anholt
This matches brw_wm_emit.c, which we'll be using shortly. There's a possible penalty here in that we'll allocate registers for unused channels, since we aren't doing ref tracking like brw_wm_pass*.c does. However, my measurements on GM965 don't show any for either OA or UT2004 with the GLSL path forced.
2009-11-06mesa: Reduce the source channels considered in optimization passes.Eric Anholt
Depending on the writemask or the opcode, we can often trim the source channels considered used for dead code elimination. This saves actual instructions on 965 in the non-GLSL path for glean glsl1, and cleans up the writemasks of programs even further.
2009-11-06mesa: Fix remove_instructions to successfully remove when removeFlags[0].Eric Anholt
This fixes the dead code elimination to work on the particular code mentioned in the previous commit.
2009-11-06mesa: Add an optimization path to remove use of pointless MOVs.Eric Anholt
GLSL code such as: vec4 result = {0, 1, 0, 0}; gl_FragColor = result; emits code like: 0: MOV TEMP[0], CONST[0]; 1: MOV OUTPUT[1], TEMP[0]; and this replaces it with: 0: MOV TEMP[0], CONST[0]; 1: MOV OUTPUT[1], CONST[0]; Even when the dead code eliminator fails to clean up a now-useless MOV instruction (since it doesn't do live/dead ranges), this should at reduce dependencies.