summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
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.
2009-11-06mesa: Fix up the remove_dead_code pass to operate on a channel basis.Eric Anholt
This cleans up a bunch of instructions in GLSL programs to have limited writemasks, which would translate to wins in shaders that hit the i965 brw_wm_glsl.c path by depending less on in-driver optimizations. It will also help hit other optimization passes I'm looking at.
2009-11-06intel: better front color buffer test in intelClear()Brian Paul
2009-11-06i965: Always pass the size argument to brw_cache_data.Eric Anholt
This keeps the individual state files from having to export their structures for brw_state_cache initialization.
2009-11-06intel: Finish removing the fallback code for bug #16697.Eric Anholt
I fixed it properly as of 7216679c1998b49ff5b08e6b43f8d5779415bf54.
2009-11-06intel: Don't validate in a texture image used as a render target.Eric Anholt
Otherwise, we could lose track of rendering to that image, which could easily happen during mipmap generation.
2009-11-06mesa: Attempt to pair up Driver.RenderTexture and FinishRenderTexture()Eric Anholt
This is probably not 100% complete (bind vs unbind may still not pair up exactly), but it should help out drivers which are relying on FinishRenderTexture to be called when we're done rendering to a particular texture level, not just when we're done rendering to the object at all. This is the case for the one consumer of FinishRenderTexture() so far: the gallium state tracker. Noticed when trying to make use of FRT() in the intel driver.
2009-11-06intel: Clean up some extra struct indirection in finalize.Eric Anholt
2009-11-06intel: Use _mesa_get_current_tex_object() to clean up TFP path.Eric Anholt
2009-11-06intel: Remove duplicated arguments from intel_miptree_match_image().Eric Anholt
2009-11-06i965: Remove an XXX comment for testing some code that seems to work.Eric Anholt
2009-11-06intel: Remove obsolete comment about GEM in the spans code.Eric Anholt
2009-11-06intel: Use PIPE_CONTROL on gen4 hardware for doing pipeline flushing.Eric Anholt
This should do all the things that MI_FLUSH did, but it can be pipelined so that further rendering isn't blocked on the flush completion unless necessary.
2009-11-06Make a convenient int for what chipset generation we're on.Eric Anholt
gen2/3/4 are easier to say than "8xx, 915-945/g33/pineview, 965/g45/misc", and compares on generation are often easier than stringing together a bunch of chipset checks.
2009-11-06Merge branch 'mesa_7_6_branch'Ian Romanick
This should fix the memory leaks in the assembly parser without the regressions. The conflicts in program_lexer.l were related to changes in returning strings between the branches (always return IDENTIFIER vs. returing either IDENTIFIER or USED_IDENTIFIER). The conflicts in program_parse.y were related to two changes in master One change prints a variable name in an error message. The other change adds outputVarSize to the OUTPUT_statement rule. The cause the position of the IDENTIFIER to change from $2 to $3. Conflicts: src/mesa/shader/lex.yy.c src/mesa/shader/program_lexer.l src/mesa/shader/program_parse.tab.c src/mesa/shader/program_parse.y
2009-11-06ARB prog parser: Regenerate parser from previous commits.Ian Romanick
2009-11-06ARB prog parser: Release old program string in ↵Ian Romanick
_mesa_parse_arb_{fragment,vertex}_program The program structure passed to _mesa_parse_arb_program is just a place holder. The stings that actually need to be released are only known to the functions calling _mesa_parse_arb_program, so they should be freed there.
2009-11-06ARB prog parser: Release strings returned from the lexer that don't need to ↵Ian Romanick
be kept
2009-11-06Revert "ARB prog parser: Fix epic memory leak in lexer / parser interface"Ian Romanick
This reverts commit 93dae6761bc90bbd43b450d2673620ec189b2c7a. This change was completely broken when the parser uses multiple strings in a single production. It would be nice if bug fixes could initially land somewhere other than the stable branch.
2009-11-06llvmpipe: Fix build with llvm 2.6.José Fonseca
Fixes bug 24949.
2009-11-06intel: call intel_check_front_buffer_rendering() in intelClear()Brian Paul
fixes bug 24953.
2009-11-06mesa: Export S3_s3tc as well.José Fonseca
Used in Quake3.
2009-11-06mesa: Translate MAP_UNSYNCHRONIZED_BIT.José Fonseca
2009-11-06gallium: Add UNSYNCHRONIZED cpu access flag. Document others.José Fonseca
2009-11-06st/xorg: unify vertex buffer handlingZack Rusin
first step on our way to batching
2009-11-05xmesa: pass pixmap to clip_for_xgetimage()Brian Paul
The code was assuming ctx->DrawBuffer == ctx->ReadBuffer. Passing the pixmap is simpler and better. Fixes a potential segfault.
2009-11-05mesa: fix infinite loop bug in _mesa_drawbuffers()Brian Paul
Fixes bug 24946. This regression came from 8df699b3bb1aa05b633f05b121d09d812c86a22d.
2009-11-05softpipe: Implement PIPE_BLENDFACTOR_SRC_ALPHA_SATURATE for destination.José Fonseca
It is a valid and tested combination on D3D9.
2009-11-05g3dvl: remove a debug lineCooper Yuan
2009-11-05g3dvl: add scissor settingCooper Yuan
2009-11-04r300g: add polygon modeMarek Olšák
Signed-off-by: Corbin Simpson <MostAwesomeDude@gmail.com>
2009-11-04r300g: fix the size of CS when emitting the fragprog constant bufferMarek Olšák
Signed-off-by: Corbin Simpson <MostAwesomeDude@gmail.com>
2009-11-04r300g: set the correct offset in a colorbuffer surfaceMarek Olšák
Suggested by Joakim Sindholt. Also, put flushing of colorbuffers _before_ the framebuffer state setup, suggested by docs. Signed-off-by: Corbin Simpson <MostAwesomeDude@gmail.com>
2009-11-04r300g: add color channel maskingMarek Olšák
Signed-off-by: Corbin Simpson <MostAwesomeDude@gmail.com>
2009-11-04mesa: added cast to silence warningBrian Paul
2009-11-04Merge branch 'mesa_7_6_branch'Brian Paul
Conflicts: src/mesa/drivers/windows/gdi/mesa.def
2009-11-04vbo: fix out-of-bounds array accessBrian Paul
The exec->vtx.inputs[] array was being written past its end. This was clobbering the following vbo_exec_context::eval state. Probably not noticed since evaluators and immediate mode rendering don't happen at the same time. Fixed the loop in vbo_exec_vtx_init(). Changed the size of the vbo_exec_context::vtx.arrays[] array. Added a bunch of debug-build assertions. Issue found by Vinson Lee.
2009-11-04mesa: fix broken pack_histogram() case for GLhalfBrian Paul
2009-11-04mesa: silence warning from gcc 4.4.1Brian Paul
2009-11-04ARB prog parser: include variable name in error textBrian Paul
2009-11-04st/xorg: these flushes shouldn't be necessaryZack Rusin
performance optimization
2009-11-04progs/tests: Fix MSVC build.Vinson Lee
Signed-off-by: Brian Paul <brianp@vmware.com>
2009-11-04r600: rework draw functionsAlex Deucher
Seems INDX_OFFSET doesn't work properly on some cards, so change back to immediate mode indices. Seems to only affect DRI1. Needs more investigation. Rework and clean up the draw functions. Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
2009-11-04r600: fix count prediction for IB caseAlex Deucher
Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
2009-11-04Fix YTILE spantmp functionsAlan Hourihane
2009-11-04Fix YTILE spantmp functionsAlan Hourihane
2009-11-04glslcompiler: Fix Mac OS build.Vinson Lee
Signed-off-by: Brian Paul <brianp@vmware.com>
2009-11-04util: Remove homegrown Windows KM profiler.José Fonseca
It's not sampling based so its results are biased towards functions called many times.
2009-11-04tgsi/ureg: Allow for multiple extended instruction tokens.Michal Krol
For example, we would like to have a predicate and texture token in one instruction to do predicated texture sampling.