summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2011-03-15i915g: Slightly less experimental fix for weird issuedraw-optzJakob Bornecrantz6-0/+29
2011-03-15draw: Do a full state change flush on opt and prim changesJakob Bornecrantz1-6/+9
In certain conditions when going from different primitive requires us to flush and validate the different stages. Like smoth lines being active but first drawing with triangles and then drawing lines.
2011-03-15draw: Flush on vertex elements changeJakob Bornecrantz1-0/+3
We could improve this by only flushing the frontend and the fetch part of the middle. This would avoid recalculating the emit keys.
2011-03-15draw: Flush when eltSize changesJakob Bornecrantz2-3/+8
This could be improved so only the frontend is flushed since it convertes all indecies to ushots and the fetch part of the middle always perpares both linear and indexed.
2011-03-15draw: Only run prepare when state, prim and opt changesJakob Bornecrantz5-9/+44
In bad applications like ipers which does a lot of draw calls with no state changes this helps to greatly reduce time spent in prepare. In ipers around 7% of CPU was spent in various prepare functions after this commit no prepare function show on the profile. This commit also has the added benefit of now grouping all pipelined drawing into a single draw call if the driver uses vbuf_render.
2011-03-15draw: Don't revalidate pipeline on backend flushesJakob Bornecrantz1-1/+2
2011-03-15draw: Remove reduced_primJakob Bornecrantz3-14/+0
2011-03-15draw: Early out in draw_pt_emit_prepareJakob Bornecrantz1-1/+9
Looks like this change doesn't give us that much
2011-03-15draw: Make sure that vertex_info is smallJakob Bornecrantz1-3/+3
152 vs 88 bytes, this is mostly for the next patch.
2011-03-15i915g: fix braino in the static state reworkHEADmasterDaniel Vetter1-1/+2
For mip-map level rendering, both draw offset and size tend to change ... Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2011-03-15i915g: implement early zDaniel Vetter4-20/+55
v2: Make it actually work. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2011-03-15i915g: split up static stateDaniel Vetter5-28/+54
Early Z support is set in the DST_VARS command. Hence split up static state emission to avoid reissuing to much on fragment shader changes, especially the costly dst buffer relocations. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2011-03-15i965: Fix alpha testing when there is no color buffer in the FBO.Eric Anholt3-0/+13
We were alpha testing against an unwritten value, resulting in garbage. (part of) Bug #35073.
2011-03-15i965: Do our lowering passes before the loop of optimization.Eric Anholt1-10/+8
The optimization loop won't reinsert noise instructions or quadop vectors, so we were traversing the tree for nothing. Lowering vector indexing was in the loop after do_common_optimization() to avoid the work if it ended up that the index was actually constant, but that has been called already in the core.
2011-03-15glsl: Skip processing the first function's body in do_dead_functions().Eric Anholt1-1/+10
It can't call anything, so there's no point.
2011-03-15glsl: Whitespace fixup in opt_dead_functions.cpp.Eric Anholt1-106/+108
2011-03-15glsl: Skip processing of expression trees in discard simplification.Eric Anholt1-0/+10
It only cares about "if", "loop", and "discard".
2011-03-15glsl: Reduce processing of expression trees in do_structure_splitting.Eric Anholt1-0/+6
Most of the time we don't have a non-uniform struct variable in the shader, so this cuts the time spent in do_structure_splitting during glean texCombine by about 2/3.
2011-03-15glsl: Skip processing expression trees in do_if_simplification().Eric Anholt1-0/+10
Reduces time spent in this during glean texCombine by about 2/3.
2011-03-15glsl: Skip processing expression trees in optimize_redundant_jumps()Eric Anholt1-0/+9
Cuts the time spent in this function during glean texCombine by 2/3.
2011-03-15svga: Tell the host to discard when doing writes without FLUSH_EXPLICIT.José Fonseca1-3/+10
2011-03-15svga: Update svga_winsys_screen::buffer_map comments.José Fonseca1-2/+2
2011-03-15svga: Ensure DMA commands are serialized with unsynchronized flag is unset.José Fonseca3-19/+113
2011-03-15scons: copy hash_table.c, symbol_table.c to glsl directoryJose Fonseca1-2/+7
This fixes an issue where the .obj files wound up in the src/ directory rather than the build/ directory. That prevented combined 32-bit and 64-bit builds from working. Signed-off-by: Brian Paul <brianp@vmware.com>
2011-03-15mesa: fix scons buildMarek Olšák1-1/+1
2011-03-15r300g: implement the texture barrierMarek Olšák1-0/+10
2011-03-15gallium: add texture barrier support to the interface and st/mesa (v2)Marek Olšák8-0/+120
v2: change the gallium entry point to texture_barrier.
2011-03-15mesa: add display list support for NV_texture_barrierMarek Olšák1-0/+22
2011-03-15mesa: regenerate glapi filesMarek Olšák11-2431/+2500
Be sure to type "make clean" after this commit, otherwise your binaries will segfault.
2011-03-15mesa: add NV_texture_barrierMarek Olšák12-0/+130
2011-03-15gallium/util: Use PIPE_TRANSFER_DISCARD_RANGE in pipe_buffer_write.Mathias Fröhlich1-0/+2
Additionally, to discarding the whole buffer, use PIPE_TRANSFER_DISCARD_RANGE in pipe_buffer_write when the write covers only part of the buffer. Signed-off-by: Mathias Fröhlich <Mathias.Froehlich@web.de>
2011-03-15st/mesa: Make use of the new PIPE_TRANSFER_DISCARD_* for buffer object.Mathias Fröhlich1-5/+9
In memory mapping buffer objects make use of PIPE_TRANSFER_DISCARD_WHOLE_RESOURCE and PIPE_TRANSFER_DISCARD_RANGE when appropriate. Signed-off-by: Mathias Fröhlich <Mathias.Froehlich@web.de>
2011-03-15glx: add ARB_create_context functions/ops to glx xmlDave Airlie1-0/+14
2011-03-15r600g: FLT_TO_INT_FLOOR and FLT_TO_INT_RPI are vector-only instructions on ↵Henri Verbeet1-3/+6
Evergreen. Signed-off-by: Henri Verbeet <hverbeet@gmail.com>
2011-03-14r600g: fix logic error in 028987c80362eddd39176628486a456b076f0427Alex Deucher1-1/+1
Spotted by Henri on IRC. Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
2011-03-14r600g: don't set per-MRT blend bits on R600Alex Deucher1-5/+10
It doesn't support them. Also, we shouldn't be emitting CB_BLENDx_CONTROL on R600 as the regs don't exist there, but I'm not sure of the best way to deal with this in the current r600 winsys. Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
2011-03-14r600g: Original R600 does not support per-MRT blendsAlex Deucher1-2/+11
Only rv6xx+ support them. Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
2011-03-14r600g: emit SURFACE_BASE_UPDATE packet on rv6xxAlex Deucher2-2/+25
This packet is required when updating the DB, CB, or STRMOUT base addresses on rv6xx for the surface sync logic to work correctly. Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
2011-03-14r600g: Properly update MULTIWRITE_ENABLE in r600_pipe_shader_ps().Henri Verbeet2-8/+7
This sort of worked because blend state setup cleared MULTIWRITE_ENABLE again, but that's not something we want to depend on. Signed-off-by: Henri Verbeet <hverbeet@gmail.com>
2011-03-14r600g: Fix the DB_SHADER_CONTROL mask in create_ds_state().Henri Verbeet2-10/+8
Signed-off-by: Henri Verbeet <hverbeet@gmail.com>
2011-03-14r600g: Properly update DB_SHADER_CONTROL in evergreen_pipe_shader_ps().Henri Verbeet1-18/+14
Disable Z_EXPORT / STENCIL_EXPORT / KILL_ENABLE again if a shader doesn't use those. This is similar to 0a6f09a76a416b8672e149c520aa5bef33174223. Signed-off-by: Henri Verbeet <hverbeet@gmail.com>
2011-03-14r600g: Move fetch shader register setup to r600_state.c / evergreen_state.c.Henri Verbeet6-31/+32
Signed-off-by: Henri Verbeet <hverbeet@gmail.com>
2011-03-14r600g: Move r600_pipe_shader_ps() to r600_state.c.Henri Verbeet3-95/+97
Signed-off-by: Henri Verbeet <hverbeet@gmail.com>
2011-03-14r600g: Move r600_pipe_shader_vs() to r600_state.c.Henri Verbeet3-49/+49
The idea behind this is that anything touching registers should be in r600_state.c or evergreen_state.c. This is also consistent with evergreen_pipe_shader_vs(). Signed-off-by: Henri Verbeet <hverbeet@gmail.com>
2011-03-14r600g: Evergreen add support for log opcode.Rafael Monica1-1/+1
Signed-off-by: Henri Verbeet <hverbeet@gmail.com>
2011-03-14autoconf/make: Don't specify individual llvm libraries.José Fonseca2-4/+4
We need more and more of these, and it is difficult and prone to version incompatability issues trying to single out every one of them. This mimicks what was done in SCons.
2011-03-14i965: Enable texture lookups whose return type is 'float'Kenneth Graunke1-1/+4
This enables the new shadow texture functions in GLSL 1.30. Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Chad Versace <chad.versace@intel.com>
2011-03-14i965: Fix tex_swizzle when depth mode is GL_REDChad Versace1-1/+2
Change swizzle from (x000) to (x001). Signed-off-by: Chad Versace <chad.versace@intel.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
2011-03-14i965: Remove dead assignmentChad Versace1-2/+0
The assignment on line 368, `tex_swizzles[i] = SWIZZLE_NOOP`, is rendered dead by the reassignment on line 392. Signed-off-by: Chad Versace <chad.versace@intel.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
2011-03-14glsl: Explicitly specify a type when reading/printing ir_texture.Kenneth Graunke5-33/+42
This is necessary for GLSL 1.30+ shadow sampling functions, which return a single float rather than splatting the value to a vec4 based on GL_DEPTH_TEXTURE_MODE.