summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2011-01-19softpipe: Bind samplers to views instead of the underlying resource.Henri Verbeet
Signed-off-by: Brian Paul <brianp@vmware.com>
2011-01-19softpipe: Get rid of the redundant resource parameter to get_sampler_variant().Henri Verbeet
Signed-off-by: Brian Paul <brianp@vmware.com>
2011-01-20r200: fix up some problems with TFP on r200Dave Airlie
2011-01-19llvmpipe: implement TGSI_PROPERTY_FS_COLOR0_WRITES_ALL_CBUFSBrian Paul
Fixes http://bugs.freedesktop.org/show_bug.cgi?id=33284
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-19r600g: fix segfault if texture operand is a literalChristian König
This fixes Bug 33262
2011-01-19mesa: implement glGetShaderPrecisionFormat()Brian Paul
Drivers should override the default range/precision info as needed. No drivers do this yet.
2011-01-19gallium/docs: document result type for some types of queriesBrian Paul
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-19r600g: fix reserve_cfile for R700+Christian König
According to R700 ISA we have only two channels for cfile constants. This patch makes piglit tests "glsl1-constant array with constant indexing" happy on RV710.
2011-01-18glsl: Fix segfault due to missing printf argumentChad Versace
Fixes the following Piglit tests: glslparsertest/shaders/array2.frag glslparsertest/shaders/dataType6.frag NOTE: This is a candidate for the 7.9 and 7.10 branches.
2011-01-18glsl: Fix semantic checks on precision qualifiersChad Versace
The check for Precision qualifiers only apply to floating point and integer types. was incomplete. It rejected only type 'bool' and structures.
2011-01-18llvmpipe: make sure binning is active when we begin/end a queryBrian Paul
This fixes a potential failure when a begin/end_query is the first thing to happen after flushing the scene. NOTE: This is a candidate for the 7.10 and 7.9 branches.
2011-01-18softpipe: rename some functions for consistencyBrian Paul
2011-01-18r600g: Kill trailing whitespace.Henri Verbeet
2011-01-18r600g: Remove the unused eg_states_inc.h and r600_states_inc.h.Henri Verbeet
2011-01-18r600g: Simplify some r600_bc_add_alu_type() calls to r600_bc_add_alu().Henri Verbeet
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-18glsl: Skip the rest of loop unrolling if no loops were found.Eric Anholt
Shaves 1.6% (+/- 1.0%) off of ff_fragment_shader glean texCombine time (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-18softpipe: added some null pointer checksBrian Paul
This shouldn't really be needed but it may help with http://bugs.freedesktop.org/show_bug.cgi?id=32309
2011-01-18softpipe: s/tex_cache/fragment_tex_cache/Brian Paul
Just to be more consistant with the vertex and geometry tex cache fields.
2011-01-18Remove executables from source tree.José Fonseca
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-17llvmpipe: enable PIPE_CAP_INDEP_BLEND_FUNCBrian Paul
The driver was saying that independend blend functions was not supported, but it really was. The driver was using the per-target independend blend factors but the state tracker was only setting the 0th one (per the Gallium spec). Fixes a piglit fbo-drawbuffers2-blend regression. See https://bugs.freedesktop.org/show_bug.cgi?id=33215
2011-01-17st/mesa: move PIPE_CAP_INDEP_BLEND_FUNC codeBrian Paul
2011-01-17glsl: Refresh autogenerated parser filesChad Versace
2011-01-17glsl: Remove redundant semantic check in parserChad Versace
The removed semantic check also exists in ast_type_specifier::hir(), which is a more natural location for it. The check verified that precision statements are applied only to types float and int.
2011-01-17glsl: Add support for default precision statementsChad Versace
* Add new field ast_type_specifier::is_precision_statement. * Add semantic checks in ast_type_specifier::hir(). * Alter parser rules accordingly.
2011-01-17glsl: Add semantic checks for precision qualifiersChad Versace
* Check that precision qualifiers only appear in language versions 1.00, 1.30, and later. * Check that precision qualifiers do not apply to bools and structs. Fixes the following Piglit tests: * spec/glsl-1.30/precision-qualifiers/precision-bool-01.frag * spec/glsl-1.30/precision-qualifiers/precision-struct-01.frag * spec/glsl-1.30/precision-qualifiers/precision-struct-02.frag
2011-01-17glsl: Fix parser rule for type_specifierChad Versace
Do not assign a value to ast_type_specifier::precision when no precision qualifier is present.
2011-01-17glsl: Change default value of ast_type_specifier::precisionChad Versace
Change default value to ast_precision_none, which denotes the absence of a precision of a qualifier. Previously, the default value was ast_precision_high. This made it impossible to detect if a precision qualifier was present or not.
2011-01-17glsl: Check that 'centroid in' does not occur in vertex shaderChad Versace
The check is performed only in GLSL versions >= 1.30. From section 4.3.4 of the GLSL 1.30 spec: "It is an error to use centroid in in a vertex shader." Fixes Piglit test spec/glsl-1.30/compiler/storage-qualifiers/vs-centroid-in-01.vert