- 27 Jul, 2011 2 commits
-
-
Benjamin Franzke authored
Fixes build since wayland 986703ac7365bc87a5501714adb9fc73157c62b7.
-
Signed-off-by:
Tobias Droste <tdroste@gmx.de> Acked-by:
Jakob Bornecrantz <wallbraker@gmail.com> Reviewed-by:
Marek Olšák <maraeo@gmail.com>
-
- 26 Jul, 2011 8 commits
-
-
Marek Olšák authored
What a beast. r300g doesn't depend on files from r300c anymore, so r300c is now left to its own fate. BTW 'make test' can be invoked from the gallium/r300 directory to run some compiler unit tests.
-
Bryan Cain authored
NOTE: This is a candidate for the 7.10 and 7.11 branches.
-
Bryan Cain authored
NOTE: This is a candidate for the 7.10 and 7.11 branches.
-
Ian Romanick authored
The implementation deviated slightly from the GL_EXT_texture_sRGB spec and from other implementations. A giant comment block was added to justify the somewhat odd behavior of this function. In addition, the interface had unnecessary cruft. The 'all' parameter was false at all callers, so it has been removed. Reviewed-by:
Brian Paul <brianp@vmware.com>
-
Ian Romanick authored
If an application requests a generic compressed format for a texture and the driver does not pick a specific compressed format, return the generic base format (e.g., GL_RGBA) for the GL_TEXTURE_INTERNAL_FORMAT query. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=3165 Reviewed-by:
Brian Paul <brianp@vmware.com>
-
Ian Romanick authored
Reviewed-by:
Brian Paul <brianp@vmware.com>
-
Emma Anholt authored
Reviewed-by:
Ian Romanick <ian.d.romanick@intel.com>
-
Ian Romanick authored
lower_variable_index_to_cond_assign runs until it can't make any more progress. It then returns the result of the last pass which will always be false. This caused the lowering loop in _mesa_ir_link_shader to end before doing one last round of lower_if_to_cond_assign. This caused several if-statements (resulting from lower_variable_index_to_cond_assign) to be left in the IR. In addition to this change, lower_variable_index_to_cond_assign should take a flag indicating whether or not it should even generate if-statements. This is easily controlled by switch_generator::linear_sequence_max_length. This would generate much better code on architectures without any flow contol. Fixes i915 piglit regressions glsl-texcoord-array and glsl-fs-vec4-indexing-temp-src. Reviewed-by:
Eric Anholt <eric@anholt.net>
-
- 25 Jul, 2011 19 commits
-
-
Marek Olšák authored
NOTE: This is a candidate for the 7.11 branch.
-
Signed-off-by:
Tobias Droste <tdroste@gmx.de> Signed-off-by:
Marek Olšák <maraeo@gmail.com>
-
Marek Olšák authored
-
Marek Olšák authored
-
Marek Olšák authored
-
Marek Olšák authored
-
Marek Olšák authored
-
Marek Olšák authored
-
Marek Olšák authored
This drops the get_value query and adds a function query_info, which returns all the values in one nice structure.
-
Emma Anholt authored
The index buffer state emit only occurred if there was an IB in place and we were in either a new batch or a new IB state. But because we only flagged new IB state if IB state changed from the last IB state we calculated, we could simply never emit IB state after batchbuffer wraps if the first draw didn't use the IB and we didn't actually change the IB. Fixes piglit glx-multi-context-ib-1.
-
Emma Anholt authored
Improves firefox-talos-gfx around 5%.
-
Emma Anholt authored
Fixes user-clip on 965 with 3D clears enabled. I created a separate flag because I wanted to avoid the overhead of the matrix operations in this path. Reviewed-by:
Brian Paul <brianp@vmware.com>
-
Emma Anholt authored
It turns out that internally the texture cache gets flushed in a couple of cases, particularly around 2D operations mixed with 3D. In almost all cases one of those happens between rendering to an FBO-attached texture and rendering from that texture. However, as of the next patch, glean tfbo (and the new fbo-flushing-2 test) would manage to get stale texture values because one of those flushes didn't occur. The intention of this code was always to get the render cache cleared and ready to be used from the sampler cache (and it does on <= gen4), so this just catches gen5 up. This patch was also tested to fix fbo-flushing on gen7.
-
Paul Berry authored
When emitting a MAC instruction in a vertex shader, brw_vs_emit() calls accumulator_contains() to determine whether the accumulator already contains the appropriate addend; if it does, then we can avoid emitting an unnecessary MOV instruction. However, accumulator_contains() wasn't checking the val.negate or val.abs flags. As a result, if the desired value was the negation, or the absolute value, of what was already in the accumulator, we would generate an incorrect shader. Fixes piglit test vs-refract-vec4-vec4-float. Tested on Gen5 and Gen6. Reviewed-by:
Eric Anholt <eric@anholt.net>
-
Kenneth Graunke authored
On Ivybridge, the shadow comparitor goes in the first slot, rather than at the end. It's not necessary to send u, v, and r. Fixes tests texturing/texdepth and glean/fbo. NOTE: This is a candidate for the 7.11 branch. Signed-off-by:
Kenneth Graunke <kenneth@whitecape.org>
-
Kenneth Graunke authored
Commit 53c89c67 ("i965: Avoid generating MOVs for assignments of expressions.") added the line "this->result = reg_undef" all over the code. Unfortunately, since Eric developed his patch before I landed Ivybridge support, he missed adding it to fs_visitor::emit_texture_gen7() after rebasing. Furthermore, since I developed TXD support before Eric's patch, I neglected to add it to the gradient handling when I rebased. Neglecting to set this causes the visitor to use this->result as storage rather than generating a new temporary. These missing statements resulted in the same register being used to store several different values. Fixes the following piglit tests on Ivybridge: - glsl-fs-shadow2dproj.shader_test - glsl-fs-shadow2dproj-bias.shader_test NOTE: This is a candidate for the 7.11 branch. Signed-off-by:
Kenneth Graunke <kenneth@whitecape.org> Reviewed-by:
Eric Anholt <eric@anholt.net>
-
Emeric Grange authored
Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=39307 Signed-off-by:
Christian König <deathsimple@vodafone.de>
-
Christian König authored
Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=39276
-
Benjamin Franzke authored
egl_dri2 built into libEGL depends on libgbm. Fixes https://bugs.freedesktop.org/show_bug.cgi?id=39515
-
- 24 Jul, 2011 2 commits
-
-
Christian König authored
The position of the quad vertex is calculated in calc_position, so we don't need the output here any more.
-
Christian König authored
Otherwise shaders with skipped inputs/outputs doesn't work correctly. Signed-off-by:
Christian König <deathsimple@vodafone.de>
-
- 23 Jul, 2011 9 commits
-
-
Younes Manton authored
The blend_quad function clobbers the actual render target color/alpha values while applying the destination blend factor, which results in restoring the wrong value during the masking stage for write-disabled channels. Reviewed-by:
Brian Paul <brianp@vmware.com>
-
Ian Romanick authored
Just like the non-constant array index lowering pass, compare all N indices at once. For accesses to a vec4, this saves 3 comparison instructions on a vector architecture. Reviewed-by:
Eric Anholt <eric@anholt.net>
-
Ian Romanick authored
Reviewed-by:
Eric Anholt <eric@anholt.net>
-
Ian Romanick authored
Previously the code would just look at deref->array->type to see if it was a constant. This isn't good enough because deref->array might be another ir_dereference_array... of a constant. As a result, deref->array->type wouldn't be a constant, but deref->variable_referenced() would return NULL. The unchecked NULL pointer would shortly lead to a segfault. Instead just look at the return of deref->variable_referenced(). If it's NULL, assume that either a constant or some other form of anonymous temporary storage is being dereferenced. This is a bit hinkey because most drivers treat constant arrays as uniforms, but the lowering pass treats them as temporaries. This keeps the behavior of the old code, so this change isn't making things worse. Fixes i965 piglit: vs-temp-array-mat[234]-index-col-rd vs-temp-array-mat[234]-index-col-row-rd vs-uniform-array-mat[234]-index-col-rd vs-uniform-array-mat[234]-index-col-row-rd Reviewed-by:
Eric Anholt <eric@anholt.net>
-
Ian Romanick authored
Fixes i965 piglit vs-varying-array-mat[234]-row-rd. Reviewed-by:
Eric Anholt <eric@anholt.net>
-
Ian Romanick authored
Fixes i965 piglit: vs-varying-array-mat[234]-col-row-wr vs-varying-array-mat[234]-index-col-row-wr vs-varying-array-mat[234]-index-row-wr vs-varying-array-mat[234]-row-wr vs-varying-mat[234]-col-row-wr vs-varying-mat[234]-row-wr Reviewed-by:
Eric Anholt <eric@anholt.net> Reviewed-by:
Kenneth Graunke <kenneth@whitecape.org>
-
Ian Romanick authored
Leaving the unused registers with other values caused assertion failures and other problems in places that blindly iterate over all sources. brw_vs_emit.c:1381: get_src_reg: Assertion `c->regs[file][index].nr != 0' failed. Fixes i965 piglit: vs-uniform-array-mat[234]-col-row-rd vs-uniform-array-mat[234]-index-col-row-rd vs-uniform-array-mat[234]-index-row-rd vs-uniform-mat[234]-col-row-rd Reviewed-by:
Kenneth Graunke <kenneth@whitecape.org> Reviewed-by:
Eric Anholt <eric@anholt.net>
-
Ian Romanick authored
Fixes i965 piglit: vs-temp-array-mat[234]-col-row-wr vs-temp-array-mat[234]-index-col-row-wr vs-temp-array-mat[234]-index-row-wr vs-temp-mat[234]-col-row-wr Fixes swrast piglit: fs-temp-array-mat[234]-col-row-wr fs-temp-array-mat[234]-index-col-row-wr fs-temp-array-mat[234]-index-row-wr fs-temp-mat[234]-col-row-wr vs-temp-array-mat[234]-col-row-wr vs-temp-array-mat[234]-index-col-row-wr vs-temp-array-mat[234]-index-row-wr vs-temp-mat[234]-col-row-wr Reviewed-by:
Eric Anholt <eric@anholt.net>
-
Ian Romanick authored
This fixes many cases of accessing arrays of matrices using non-constant indices at each level. Fixes i965 piglit: vs-temp-array-mat[234]-index-col-rd vs-temp-array-mat[234]-index-col-row-rd vs-temp-array-mat[234]-index-col-wr vs-uniform-array-mat[234]-index-col-rd Fixes swrast piglit: fs-temp-array-mat[234]-index-col-rd fs-temp-array-mat[234]-index-col-row-rd fs-temp-array-mat[234]-index-col-wr fs-uniform-array-mat[234]-index-col-rd fs-uniform-array-mat[234]-index-col-row-rd fs-varying-array-mat[234]-index-col-rd fs-varying-array-mat[234]-index-col-row-rd vs-temp-array-mat[234]-index-col-rd vs-temp-array-mat[234]-index-col-row-rd vs-temp-array-mat[234]-index-col-wr vs-uniform-array-mat[234]-index-col-rd vs-uniform-array-mat[234]-index-col-row-rd vs-varying-array-mat[234]-index-col-rd vs-varying-array-mat[234]-index-col-row-rd vs-varying-array-mat[234]-index-col-wr Reviewed-by:
Eric Anholt <eric@anholt.net>
-