summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2010-07-03r300g: Fix typo in r300_reg.hTom Stellard
2010-07-03r300/compiler: Don't continue copy propagation inside loops.Tom Stellard
2010-07-03r300/compiler: Print debug info for flow control instructions.Tom Stellard
2010-07-03r300/compiler: Enable hardware IF statements for r500 cards.Tom Stellard
2010-07-03r300/compiler: In the peephole optimizer, ELSE should mark the end of aTom Stellard
block.
2010-07-03r300/compiler: Correctly calculate the max number of iterations for loops.Tom Stellard
2010-07-03r300/compiler: Handle loops in deadcode analysis.Tom Stellard
This also allows us to split the loop emulation into two phases. A tranformation phase which either unrolls loops or prepares them to be emulated, and the emulation phase which unrolls remaining loops until the instruction limit is reached. The second phase is completed after the deadcode analysis in order to get a more accurate count of the number of instructions in the body of loops.
2010-07-02Refresh autogenerated file builtin_function.cpp.Kenneth Graunke
2010-07-02glcpp: Add #error support.Kenneth Graunke
2010-07-02glsl2: Fix for dead strings being stored in the symbol table.Kenneth Graunke
2010-07-02ir_to_mesa: Fix uninitalized value.Kenneth Graunke
2010-07-02glsl2/builtins: Use vector ops in the 130 version of "sign."Kenneth Graunke
2010-07-02glsl2/builtins: Use vector ops in "smoothstep."Kenneth Graunke
2010-07-02osmesa: remove old renderbuffer before adding newBrian Paul
Fixes fd.o bug 10966 when OSMesaMakeCurrent() was called twice. NOTE: This is a candidate for the 7.8 branch.
2010-07-02mesa: updated instruction commentsBrian Paul
2010-07-02ir_to_mesa: Fix up implementation of ir_unop_exp.Eric Anholt
OPCODE_EXP is not to ir_unop_exp what OPCODE_EX2 is to ir_unop_exp2. It's the weird VP approximation helper opcode. Just implement it with OPCODE_POW instead. Fixes glsl-fs-exp.
2010-07-02i965: Add support for the DP2 opcode, which we use for dot(vec2, vec2).Eric Anholt
The original glsl compiler would generate a.x * b.x + a.y * b.y, which we would do mul+mul+add for instead of this mul+mac. Fixes glsl-fs-dot-vec2.
2010-07-02ir_to_mesa: Add support for scalar * mat, vec * mat.Eric Anholt
This is not tested by piglit currently.
2010-07-02ir_to_mesa: Add support for shadow comparison to texture instructions.Eric Anholt
piglit lacks tests for this currently.
2010-07-02ir_to_mesa: Move projection handling out of ir_tex so txb and txl get it.Eric Anholt
Fixes: glsl-fs-texture2dproj-bias glsl-fs-texture2dproj-bias-2
2010-07-02glsl2: Print the linking info log in the stand-alone compilerIan Romanick
2010-07-02ir_to_mesa: Add support for projected non-shadow/bias/lod texturing.Eric Anholt
Fixes: glsl-fs-texture2dproj glsl-fs-texture2dproj-2
2010-07-02mesa: add geometry shader fields to gl_shader_programBrian Paul
These 3 fields are per shader-program. Copy them into the geometry program at link time for convenient access later. Also, add some missing glGetProgramiv() queries.
2010-07-02ir_to_mesa: Fix sparse swizzling of src regs when a writemask is present.Eric Anholt
Fixes glsl-fs-texture2d-masked.
2010-07-02ir_to_mesa: Don't forget to run the Mesa IR optimization passes.Eric Anholt
With how we generate assignments, the trivial copy propagation in it is really important, and some drivers will really want the register allocation, too.
2010-07-02glsl2: Add a pass to break ir_binop_div to _mul and _rcp.Eric Anholt
This results in constant folding of a constant divisor.
2010-07-02gallivm: Do 4ubyte AoS texture filtering for any format that can be expressed.José Fonseca
Except if it has only one channel, as it would take the same number of instructions.
2010-07-02gallivm: Use util_format_description::fetch_rgba_8unorm() when available.José Fonseca
2010-07-02util: Add a fetch_rgba_8unorm.José Fonseca
Not always implemented, but useful in situations where we want 8unorms and the samples comes as 8unorms as we needlessly convert to/from floats.
2010-07-02gallivm: Support multiple pixels in lp_build_fetch_rgba_aos().José Fonseca
This allows to do the unpacking of formats that fit in 4 x unorm8 in parallel, 4 pixels at a time.
2010-07-02gallivm: Move lp_build_rgba8_to_f32_soa() to lp_bld_format_soa.cJosé Fonseca
It will be more useful here.
2010-07-02gallivm: Move gather functions to its own module.José Fonseca
They need to grow, and they provide basic functionality which is not specific to sampling.
2010-07-02gallivm: Check inputs/outputs in lp_build_conv()José Fonseca
2010-07-02util: Expose util_format_fits_8unorm().José Fonseca
2010-07-02mesa: fix texenv generation when num color bufs == 0Brian Paul
Before, if there were no color buffers enabled (with glDrawBuffers(GL_NONE)) when the texenv program was generated, we'd emit writes to OUTPUT[1] but the OutputsWritten mask was 0. This inconsistency caused an assertion to fail later in the Mesa->TGSI translation. Fixes fd.o bug 28169 NOTE: this is a candidate for the 7.8 branch (and depends on commit b6b9b17d27c570cc99ae339e595cf2f63ca5e8d7).
2010-07-02softpipe: fix incorrect blend func index passed to blend_quad()Brian Paul
Need to pass the index indicating which blend terms to use, not which color buffer we're blending into. Rename the parameter to blend_quad() and add comments to be more clear about this.
2010-07-02softpipe: better assertionsBrian Paul
2010-07-02mesa: add missing error checks in _mesa_program_parameteri()Brian Paul
2010-07-02main: change some GS field types, added commentsBrian Paul
2010-07-02mesa: make the number of draw buffers part of the texenv program key stateBrian Paul
All the state that effects the program should be in the key. This didn't help with bug 28169 but is a good fix anyway. NOTE: this is a low-priority candidate for the 7.8 branch. In practice, this issue might never be hit.
2010-07-02gallium/cso: check for set_vertex_sampler_views != NULL before calling itBrian Paul
Not all drivers implement this method. Fixes regression reported by Chris Rankin and bug 28889.
2010-07-02mesa: Silence warning.José Fonseca
2010-07-02gallivm: Code generate YUV format unpacking.José Fonseca
2010-07-02gallivm: Fix 4 x unorm8 -> 4 x float conversion.José Fonseca
Also fix the test.
2010-07-02r600: use gallium list macros instead of making our own.Dave Airlie
before this change, r600 glxinfo segfaulted in the list code, and I wasn't debugging another linked list implementation, its 2010 after all. So add the two missing list macros to the gallium header from X.org list header file (after fixing them), then port all r600 lists to the new header. Signed-off-by: Dave Airlie <airlied@redhat.com>
2010-07-01glsl2: Conditionally allow optional extensions to be enabledIan Romanick
The only optional extension currently supported by the compiler is GL_EXT_texture_array.
2010-07-01glsl2: Append _TOK to some parser tokensIan Romanick
This prevents conflicts with defines elsewhere in Mesa and allows including mtypes.h in the compiler.
2010-07-01glsl2: Conditionally define preprocessor tokens for optional extensionsIan Romanick
The only optional extension currently supported by the compiler is GL_EXT_texture_array.
2010-07-01glsl2: Define preprocessor tokens for extensionsIan Romanick
Currently only GL_ARB_draw_buffers and GL_ARB_texture_rectangle are defined because those extensions are always enabled. This make tex_rect-03.frag pass.
2010-07-01glsl2: Support AST-to-IR translation of invariant keywordIan Romanick