- Apr 14, 2011
-
-
Ian Romanick authored
-
Ian Romanick authored
This is in anticipation of generating GLSL IR from the parser. The C++ rules for enums vs. ints are just plain broken.
-
Ian Romanick authored
-
Ian Romanick authored
-
Ian Romanick authored
Like the noise opcode, this opcode really shouldn't exist. The only reason it exists is to facilitate translation of assembly shaders to IR. These changes include the addition of ir_unop_lit and the lowering pass that removes it.
-
Ian Romanick authored
Instead of lowering e^x to 2^(x * log2(e)), lower it to e^x using the POW opcode. On GPUs that have a POW instruction, this saves a multiply (the log2 is already removed by the constant expression evaluator).
-
- Apr 13, 2011
-
-
Emma Anholt authored
-
Emma Anholt authored
Fixes glsl-copy-propagation-loop-2 when this optimization pass is re-enabled. Reported-by: David Lamparter <equinox@diac24.net>
-
Emma Anholt authored
A few GLES2 tests tripped over this when using array dereferences to hit channels on the LHS (see piglit test glsl-copy-propagation-vector-indexing). We wouldn't find the ir_dereference_variable, and assume that that meant that it wasn't an assignment to a scalar/vector, and thus not notice that the variable had been changed.
-
Brian Paul authored
-
Brian Paul authored
-
Brian Paul authored
-
Brian Paul authored
-
Brian Paul authored
-
Lina Versace authored
... because grokking explicit assertions requires fewer neurons. In brw_misc_state.c:emit_depthbuffer, change assertion condition tiling != I915_TILING_X && tiling != I915_TILING_NONE to tiling == I915_TILING_Y Reviewed-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Signed-off-by: Chad Versace <chad.versace@intel.com>
-
Lina Versace authored
This depth format was added in Gen5. Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Signed-off-by: Chad Versace <chad.versace@intel.com>
-
Lina Versace authored
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Signed-off-by: Chad Versace <chad.versace@intel.com>
-
Lina Versace authored
Release the old depth region and reference the new one *only* if it has changed. Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Signed-off-by: Chad Versace <chad.versace@intel.com>
-
- Apr 12, 2011
-
-
Kenneth Graunke authored
Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com> Acked-by: Chris Wilson <chris@chris-wilson.co.uk>
-
Kenneth Graunke authored
Prior to Gen6, we use the GS for breaking down quads, quad-strips, and line loops. On Gen6, earlier stages already take care of this, so we never need the GS. Since this code is likely completely untested, remove it for now. We can write new code when enabling real geometry shaders. Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Eric Anholt <eric@anholt.net>
-
Chris Wilson authored
This reverts commit b4cbd2b3. It looked like a safe sanity check. It missed the issue of the start of the buffer not being at 0, but even that was not enough to explain why setting the max vertex index caused glyphs to be dropped from the game 'Achron'. Instead, the issue appears to be related to the use of the vertex bias and so we would need to re-emit the max-index every time we adjusted the bias, so re-emitting the relocations and defeating the original optimisation. Reported-and-tested-by: Thomas Jones <thomas.jones@utoronto.ca> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=35163 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
-
Benjamin Franzke authored
-
Dave Airlie authored
-
Jose Fonseca authored
When the window is minimized GetClientRect will return zeros. Instead of creating a 1x1 framebuffer, simply preserve the current window size, until the window is restored or maximized again.
-
Jose Fonseca authored
-
Jose Fonseca authored
The earlier change to ensure rendertargets and textures are always rebound at every command buffer start had the downside of making successive flushes no longer no-ops, as a command buffer with merely the rebinding commands were being unnecessarily sent to the vGPU. This change only re-emits the bindings when necessary, by keeping track of the need to rebind outside of the dirty state update mechanism.
-
Hans de Goede authored
According to https://bugs.freedesktop.org/show_bug.cgi?id=34280 commit 5d1387b2 causes the font corruption problems people have been seeing under various apps and gnome-shell on r200 cards. This commit changed (loosened) the check for using the memcpy path in the former al88 / al1616 texstore functions, which are now also used to store rg texures. This patch restores the old strict check in case of al textures. I've no idea why this fixes things, since I don't know the code in question at all. But after seeing the bisect in bfdo34280 point to this commit, I gave this fix a try and it fixes the font issues seen on r200 cards. [airlied: r200 has no native working A8, so it does an internal storage format of AL88 however srcFormat == internalFormat == ALPHA when we get to this point, so it copies, but it wants to store into an AL88 not ALPHA so fails, I'll also push a piglit test for this on r200]. Many thanks to Nicolas Kaiser who did all the hard work of tracking this down! Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
-
Brian Paul authored
-
Brian Paul authored
-
Brian Paul authored
-
Brian Paul authored
-
Nan Hai Zou authored
This reverts commit 66b66295. it was already fixed by commit 9d60a7ce
-
- Apr 11, 2011
-
-
Ian Romanick authored
Reviewed-by: Eric Anholt <eric@anholt.net> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
-
Ian Romanick authored
Previously the macro would (ALIGN(value - alignment - 1, alignment)). At the very least, this was missing parenthesis around "alignment - 1". As a result, if value was already aligned, it would be reduced by alignment. Condisder: x = ROUND_DOWN_TO(256, 128); This becomes: x = ALIGN(256 - 128 - 1, 128); Or: x = ALIGN(127, 128); Which becomes: x = 128; This macro is currently only used in brw_state_batch (brw_state_batch.c). It looks like the original version of this macro would just use too much space in the batch buffer. It's possible, but not at all clear to me from the code, that the original behavior is actually desired. In any case, this patch does not cause any piglit regressions on my Ironlake system. I also think that ALIGN_FLOOR would be a better name for this macro, but ROUND_DOWN_TO matches rounddown in the Linux kernel. Reviewed-by: Eric Anholt <eric@anholt.net> Reviewed-by: Keith Whitwell <keithw@vmware.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
-
Ian Romanick authored
Tested-by: Brian Paul <brianp@vmware.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
-
Ian Romanick authored
Also make the GL_ARB_draw_instanced block follow the same pattern as the other blocks. Tested-by: Brian Paul <brianp@vmware.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
-
Brian Paul authored
-
Emma Anholt authored
This is a 49.6% +/- 2.0% (n=9, IPS outlier removed) performance improvement for the hacked-up-for-cache-misses scissor-many, and no statistically significant performance difference for the hacked-up-for-cache-hits version (n=9, IPS outlier removed). No statistically significant performance difference from ETQW (n=5) from these last two commits.
-
Emma Anholt authored
This is a 28.1% +/- 1.4% (n=10) performance improvement for the hacked-up-for-cache-misses scissor-many (n=10), and no statistically significant wall-time performance difference for the hacked-up-for-cache-hits version (n=9, first outlier in each removed since IPS was warming up. User time increased by about 4.7%, but kernel time decreased equivalently).
-
Emma Anholt authored
I wanted to separate this mechanical change from the actual work.
-