summaryrefslogtreecommitdiff
path: root/src/mesa
AgeCommit message (Collapse)Author
2011-01-19i965/fs: Take the shared mathbox into account in instruction scheduling.Eric Anholt
I don't have evidence for this amounting to any improvement, but it does codify a bit more what we understand so far about the pipeline.
2011-01-19i965/fs: Add a helper function for detecting math opcodes.Eric Anholt
2011-01-19i965/fs: Assign URB/CURB register numbers after instruction scheduling.Eric Anholt
This fixes a bunch of unnecessary barriers due to the scheduler not knowing what that arbitrary register description refers to when trying to reason about its dependencies. The result is rescheduling in the convolution kernel shader in Lightsmark, which results in avoiding register spilling and increasing the performance of the first scene from 6-7 fps midway through the panning to 11fps. The register spilling was a regression from Mesa 7.9 to Mesa 7.10.
2011-01-19i965/fs: Add an instruction scheduler.Eric Anholt
Improves performance of my GLSL demo by 5.1% (+/- 1.4%, n=7). It also reschedules the giant multiply tree at the end of glsl-fs-convolution-1 so that we end up not spilling registers, producing the expected level of performance.
2011-01-19i965/fs: Add a helper for detecting texturing opcodes.Eric Anholt
2011-01-19mesa: implement glGetShaderPrecisionFormat()Brian Paul
Drivers should override the default range/precision info as needed. No drivers do this yet.
2011-01-19radeon: avoid segfault on 3D textures.Dave Airlie
This is a candidate for 7.9 and 7.10
2011-01-19radeon: oops didn't need this logbase2 fnDave Airlie
2011-01-19radeon: calculate complete texture state inside TFP functionDave Airlie
(really not sure why I'm doing this). This is a candidate for 7.9 and 7.10 branches.
2011-01-19dri/nouveau: allow multiple maps of surface buffersBen Skeggs
Can happen during swrast fallbacks if a buffer is somehow bound as a render target and a texture. Fixes gnome-shell on nv20, and gets it mostly working on nv10. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2011-01-19radeon/r200: fix fbo-clearmipmap + gen-teximageDave Airlie
sw clears were being used and not getting the correct offsets in the span code. also not emitting correct offsets for CB draws to texture levels. (I've no idea why I'm playing with r100). This is a candidate for 7.9 and 7.10
2011-01-18i965: Fix a comment typo.Eric Anholt
2011-01-18i965: Fix a bug in i965 compute-to-MRF.Eric Anholt
Fixes piglit glsl-fs-texture2d-branching. I couldn't come up with a testcase that didn't involve dead code, but it's still worthwhile to fix I think.
2011-01-18vbo: initialize num_instances in a few placesBrian Paul
This fixes https://bugs.freedesktop.org/show_bug.cgi?id=33247 There might still be some issues with drawing multiple instances with VBO splitting to investigate someday.
2011-01-18ra: Take advantage of the adjacency list in finding a node to spill.Eric Anholt
This revealed a bug in ra_get_spill_benefit where we only considered the benefit of the first adjacency we were to remove, explaining some of the ugly spilling I've seen in shaders. Because of the reduced spilling, it reduces the runtime of glsl-fs-convolution-1 36.9% +/- 0.9% (n=5).
2011-01-18ra: Remove unused "name" field in regs.Eric Anholt
2011-01-18ra: Take advantage of the adjacency list in ra_select() too.Eric Anholt
Reduces runtime of glsl-fs-convolution-1 another 13.9% +/- 0.6% (n=5).
2011-01-18ra: Add an adjacency list to trade space for time in ra_simplify().Eric Anholt
This was recommended in the original paper, but I figued "make it run" before "make it fast". Now we make it fast. Reduces the runtime of glsl-fs-convolution-1 by 12.7% +/- 0.6% (n=5).
2011-01-18ra: Trade off some space to get time efficiency in ra_set_finalize().Eric Anholt
Our use of the register allocator in i965 is somewhat unusual. Whereas most architectures would have a smaller set of registers with fewer register classes and reuse that across compilation, we have 1, 2, and 4-register classes (usually) and a variable number up to 128 registers per compile depending on how many setup parameters and push constants are present. As a result, when compiling large numbers of programs (as with glean texCombine going through ff_fragment_shader), we spent much of our CPU time in computing the q[] array. By keeping a separate list of what the conflicts are for a particular reg, we reduce glean texCombine time 17.0% +/- 2.3% (n=5). We don't expect this optimization to be useful for 915, which will have a constant register set, but it would be useful if we were switch to this register allocator for Mesa IR.
2011-01-18r600c: preserve correct buffer when using fboAndre Maasikas
Hopefully better than previous - this passes more mipgen tests
2011-01-18r600: set border color as RGBAAndre Maasikas
border color is RGBA for samples - this passes texenv tests
2011-01-18r600c: use STATE_FB_WPOS_Y_TRANSFORM variable to do wpos transformAndre Maasikas
use introduced STATE_FB_WPOS_Y_TRANSFORM variable (thanks Marek) this gets coords also right when using fbo
2011-01-17i965: Fix dead pointers to fp->Parameters->ParameterValues[] after realloc.Eric Anholt
Fixes texrect-many regression with ff_fragment_shader -- as we added refs to the subsequent texcoord scaling paramters, the array got realloced to a new address while our params[] still pointed at the old location.
2011-01-17st/mesa: move PIPE_CAP_INDEP_BLEND_FUNC codeBrian Paul
2011-01-17vbo: init num_instances in split_prims()Brian Paul
Fixes a VTK regression after adding GL_ARB_draw_instanced.
2011-01-17tnl: assert that num_instances > 0Brian Paul
2011-01-17mesa: s/primcount/numInstances/Brian Paul
primcount is also a parameter to glMultiDrawElements(). Use numInstances to avoid confusion between these things.
2011-01-15mesa: minor tweaks in _mesa_set_fetch_functions()Brian Paul
2011-01-15mesa: add comment for _mesa_get_srgb_format_linear()Brian Paul
2011-01-15mesa: move declarations before codeBrian Paul
2011-01-16gallium: add EXT_texture_sRGB_decode.Dave Airlie
This uses a sampler view to access the texture with the alternate format. Signed-off-by: Dave Airlie <airlied@redhat.com>
2011-01-16i965: add support for EXT_texture_sRGB_decodeDave Airlie
We just choose the texture format depending on the srgb decode bit for the sRGB formats. Signed-off-by: Dave Airlie <airlied@redhat.com>
2011-01-16mesa/swrast: implement EXT_texture_sRGB_decodeDave Airlie
This implements the extension by choosing a different set of texture fetch functions when the texture parameter changes. Signed-off-by: Dave Airlie <airlied@redhat.com>
2011-01-15mesa: implement glGet queries for GL_ARB_draw_buffers_blendBrian Paul
2011-01-15mesa: display list support for GL_ARB_draw_buffers_blend functionsBrian Paul
2011-01-15mesa: plug in GL_ARB_draw_buffers_blend functionsBrian Paul
2011-01-15glapi: regenerated filesBrian Paul
2011-01-15mesa: begin implementation of GL_ARB_draw_buffers_blendBrian Paul
2011-01-15st/mesa: GL_ARB_instanced_arrays supportBrian Paul
2011-01-15mesa: support for GL_ARB_instanced_arraysBrian Paul
2011-01-15glapi: regenerated filesBrian Paul
2011-01-15st/mesa: move/consolidate an assignmentBrian Paul
2011-01-15Merge branch 'draw-instanced'Brian Paul
Conflicts: src/gallium/auxiliary/draw/draw_llvm.c src/gallium/drivers/llvmpipe/lp_state_fs.c src/glsl/ir_set_program_inouts.cpp src/mesa/tnl/t_vb_program.c
2011-01-15mesa: Add glDepthRangef and glClearDepthf to APIspec.xml.Chia-I Wu
Core mesa has gained support for GL_ARB_ES2_compatibility. Make GLES generated dispatch table use them.
2011-01-14mesa: Add getter for GL_SHADER_COMPILER with ARB_ES2_compatibility.Eric Anholt
Fixes piglit arb_es2_compatibility-shadercompiler
2011-01-14mesa: Add getters for ARB_ES2_compatibility MAX_*_VECTORS.Eric Anholt
Fixes piglit arb_es2_compatibility-maxvectors.
2011-01-14mesa: Add support for glDepthRangef and glClearDepthf.Eric Anholt
These are ARB_ES2_compatibility float variants of the core double entrypoints. Fixes arb_es2_compatibility-depthrangef.
2011-01-14ir_to_mesa: Fix segfaults on ir_to_mesa invocation after MSVC change.Eric Anholt
2011-01-14mesa: Dynamically allocate acp array in ir_to_mesa_visitor::copy_propagate.Vinson Lee
Fixes these MSVC errors. ir_to_mesa.cpp(2644) : error C2057: expected constant expression ir_to_mesa.cpp(2644) : error C2466: cannot allocate an array of constant size 0 ir_to_mesa.cpp(2644) : error C2133: 'acp' : unknown size ir_to_mesa.cpp(2646) : error C2070: 'ir_to_mesa_instruction *[]': illegal sizeof operand ir_to_mesa.cpp(2709) : error C2070: 'ir_to_mesa_instruction *[]': illegal sizeof operand ir_to_mesa.cpp(2718) : error C2070: 'ir_to_mesa_instruction *[]': illegal sizeof operand
2011-01-14mesa: Add actual support for glReleaseShaderCompiler from ES2.Eric Anholt
Fixes no-op dispatch warning in piglit arb_es2_compatibility-releaseshadercompiler.c.