- Nov 28, 2014
-
-
Emil Velikov authored
Signed-off-by:
Emil Velikov <emil.l.velikov@gmail.com>
-
madsh.m16 can't handle a const in src1, make sure to unconst it Signed-off-by:
Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by:
Rob Clark <robdclark@gmail.com> Cc: "10.3 10.4" <mesa-stable@lists.freedesktop.org> (cherry picked from commit 37fe3475)
-
We are using 1 more buffer than we have, although in the future the driver should just end up using one buffer in total probably, this is a good first step, it merges the txq cube array and buffer info constants on r600 and evergreen. This should in theory fix geom shader tests on r600. v1.1: fix comments from Glenn. Reviewed-by:
Glenn Kennard <glenn.kennard@gmail.com> Cc: "10.4 10.3" <mesa-stable@lists.freedesktop.org Signed-off-by:
Dave Airlie <airlied@redhat.com> (cherry picked from commit 07ae6975) Squashed with commit r600g: fix fallout from last patch I accidentally rebased from the wrong machine and missed some fixes that were on my r600 box. doh. this fixes a bunch of geom shader textureSize tests on rv635 from gpu reset to pass. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=86760 Reported-by:
<wolput@onsneteindhoven.nl> Cc: "10.4 10.3" <mesa-stable@lists.freedesktop.org> Signed-off-by:
Dave Airlie <airlied@redhat.com> (cherry picked from commit b10ddf96) Squashed with commit r600g: make llvm code compile this time Actually compiling the code helps make it compile. Cc: "10.3 10.4" <mesa-stable@lists.freedesktop.org> Signed-off-by:
Dave Airlie <airlied@redhat.com> (cherry picked from commit 91a82762)
-
It's not exported by the official opengl32.dll neither. Applications are supposed to get it via wglGetProcAddress(), not GetProcAddress(). Cc: "10.4" <mesa-stable@lists.freedesktop.org> Reviewed-by:
Brian Paul <brianp@vmware.com> Reviewed-by:
Roland Scheidegger <sroland@vmware.com> (cherry picked from commit cb009bdd)
-
This fixes several MSVC warnings like: warning C4273: 'glClearColorx' : inconsistent dll linkage In fact, we should avoid using `declspec(dllexport)` altogether, and use exclusively the .DEF instead, which gives more precise control of which symbols must be exported, but all the public GL/GLES headers practically force us to pick between `declspec(dllexport)` or `declspec(dllimport)`. Cc: "10.4" <mesa-stable@lists.freedesktop.org> Reviewed-by:
Brian Paul <brianp@vmware.com> Reviewed-by:
Roland Scheidegger <sroland@vmware.com> (cherry picked from commit 5fdb6d68)
-
We now always guarantee availability of stdint.h on MSVC -- if MSVC doesn't supply one we use our own. Cc: "10.4" <mesa-stable@lists.freedesktop.org> Reviewed-by:
Brian Paul <brianp@vmware.com> Reviewed-by:
Roland Scheidegger <sroland@vmware.com> (cherry picked from commit 4b6e9365)
-
- Nov 26, 2014
-
-
Emil Velikov authored
The version provided by it should be the same as the one provided/handled by the module. Add the missing tiny version. Cc: <mesa-stable@lists.freedesktop.org> Signed-off-by:
Emil Velikov <emil.l.velikov@gmail.com> Reviewed-by:
David Heidelberg <david@ixit.cz> (cherry picked from commit 9b7037a3)
-
Fixes broken rendering in Windows-based QtQuick2 apps run through Wine. This library sets all texture units' GL_COORD_REPLACE, leaves point sprite mode enabled, and then draws a triangle fan. Will need a slightly different fix for Gen4-5, but I don't have my old machines in a usable state currently. V2: - Simplify patch -- the real changes are no longer duplicated across the Gen6 and Gen7 atoms. - Also don't clobber attr overrides -- which matters on Haswell too, and fixes the other half of the problem - Fix newly-introduced warnings V3: - Use BRW_NEW_GEOMETRY_PROGRAM and brw->geometry_program rather than core flag and state; keep the state flags in order. Signed-off-by:
Chris Forbes <chrisf@ijw.co.nz> Cc: "10.4" <mesa-stable@lists.freedesktop.org> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=84651 Reviewed-by:
Kenneth Graunke <kenneth@whitecape.org> (cherry picked from commit 0008d0e5)
-
Ilia noticed that my lowering pass was converting the constant array used by textureGatherOffsets' offsets parameter to a uniform. This broke textureGather for Nouveau, and is generally a horrible plan, since it violates the GLSL constraint that offsets must be an immediate constant. When I wrote this pass, I neglected to consider whole array assignment. I figured opt_array_splitting would handle constant indexing, so this pass was really about fixing variable indexing. textureGatherOffsets is an example of whole array access that we really don't want to touch. Whole array copies don't appear to benefit from this either - they're most likely initializers for temporary arrays which are going to be mutated anyway. Since you're copying, you may as well copy from immediates, not uniforms. This patch makes the pass look for ir_dereference_arrays of ir_constants, rather than looking for any ir_constant directly. This way, it ignores whole array assignment. No shader-db changes or Piglit regressions on Haswell. Some Piglit tests generate different code (fixing textureGatherOffsets on Nouveau). Signed-off-by:
Kenneth Graunke <kenneth@whitecape.org> Tested-by:
Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by:
Matt Turner <mattst88@gmail.com> Cc: "10.4" <mesa-stable@lists.freedesktop.org> (cherry picked from commit 60f011af)
-
This was just returning the same value as GL_CURRENT_MATRIX_ARB. Spotted while investigating something else in apitrace. Signed-off-by:
Chris Forbes <chrisf@ijw.co.nz> Cc: "10.3 10.4" <mesa-stable@lists.freedesktop.org> Reviewed-by:
Kenneth Graunke <kenneth@whitecape.org> (cherry picked from commit 2b4fe85f)
-
Uniform names (even for hidden uniforms) are required to be unique; some parts of the compiler assume they can be looked up by name. Fixes the piglit test: tests/spec/glsl-1.20/linker/array-initializers-1 Signed-off-by:
Chris Forbes <chrisf@ijw.co.nz> Cc: "10.4" <mesa-stable@lists.freedesktop.org> Reviewed-by:
Kenneth Graunke <kenneth@whitecape.org> (cherry picked from commit 12917889)
-
When converting a uniform array reference to a pull constant load, the `reladdr` expression itself may have its own `reladdr`, arbitrarily deeply. This arises from expressions like: a[b[x]] where a, b are uniform arrays (or lowered const arrays), and x is not a constant. Just iterate the lowering to pull constants until we stop seeing these nested. For most shaders, there will be only one pass through this loop. Fixes the piglit test: tests/spec/glsl-1.20/linker/double-indirect-1.shader_test Signed-off-by:
Chris Forbes <chrisf@ijw.co.nz> Cc: "10.3 10.4" <mesa-stable@lists.freedesktop.org> Reviewed-by:
Kenneth Graunke <kenneth@whitecape.org> (cherry picked from commit adefccd1)
-
This moves all the CUBE section above the gradients section, so that the gradient emission happens on one block which is what sb/hardware expect. v2: avoid changes to bytecode by using spare temps v2.1: shame gcc, oh the shame. (uninit var warnings) Cc: "10.4 10.3" <mesa-stable@lists.freedesktop.org> Reviewed-by:
Glenn Kennard <glenn.kennard@gmail.com> Signed-off-by:
Dave Airlie <airlied@redhat.com> (cherry picked from commit c8838560)
-
The piglit tests were failing, and it appeared to be SB optimising out things, but Glenn pointed out the gradients are meant to be clause local, so we should emit the texture instructions in the same clause. This moves things around to always copy to a temp and then emit the texture clauses for H/V. v2: Glenn pointed out we could get another ALU fetch in the wrong place, so load the src gpr earlier as well. Fixes at least: ./bin/tex-miplevel-selection textureGrad 2D Reviewed-by:
Glenn Kennard <glenn.kennard@gmail.com> Cc: "10.4 10.3" <mesa-stable@lists.freedesktop.org> Signed-off-by:
Dave Airlie <airlied@redhat.com> (cherry picked from commit 38ec1844)
-
- Nov 24, 2014
-
-
res->bind is not an indicator of how the resource is currently bound. buffers can be rebound across different binding points without changing underlying storage. Signed-off-by:
Ilia Mirkin <imirkin@alum.mit.edu> Cc: "10.4 10.3" <mesa-stable@lists.freedesktop.org> (cherry picked from commit fecae462)
-
The number of vertex buffers has nothing to do with the number of bound constbufs. Signed-off-by:
Ilia Mirkin <imirkin@alum.mit.edu> Cc: "10.4 10.3" <mesa-stable@lists.freedesktop.org> (cherry picked from commit e80a0a7d)
-
Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=86618 Signed-off-by:
Ilia Mirkin <imirkin@alum.mit.edu> Cc: "10.4 10.3" <mesa-stable@lists.freedesktop.org> (cherry picked from commit 7d07083c)
-
- Nov 22, 2014
-
-
Emil Velikov authored
Signed-off-by:
Emil Velikov <emil.l.velikov@gmail.com>
-
- Nov 19, 2014
-
-
Fixes regression of WebGL Conformance test texture-size-limit [1] on Ivybridge Mobile GT2 0x0166 with Google Chrome R38. Regression introduced by commit 6c044231 Author: Kenneth Graunke <kenneth@whitecape.org> Date: Sun Feb 2 02:58:42 2014 -0800 i965: Bump GL_MAX_CUBE_MAP_TEXTURE_SIZE to 8192. The test regressed because the pointer offset arithmetic in intel_miptree_map_gtt() overflows for large textures. The pointer arithmetic is not 64-bit safe. [1] https://github.com/KhronosGroup/WebGL/blob/52f0dc240f04dce31b1b8e2b8107fe2b8332dc90/sdk/tests/conformance/textures/texture-size-limit.html Cc: "10.3 10.4" <mesa-stable@lists.freedesktop.org> Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=78770 Fixes: Intel CHRMOS-1377 Reported-by:
Lu Hua <huax.lu@intel.com> Reviewed-by:
Ian Romanic <ian.d.romanick@intel.com> Signed-off-by:
Chad Versace <chad.versace@linux.intel.com> (cherry picked from commit b69c7c5d)
-
For 1D and 2D arrays we don't want the other coordinates being offset and affecting where we sample. I wrote this patch 6 months ago but lost it. Fixes: ./bin/tex-miplevel-selection textureLodOffset 1DArray ./bin/tex-miplevel-selection textureLodOffset 2DArray ./bin/tex-miplevel-selection textureOffset 1DArray ./bin/tex-miplevel-selection textureOffset 1DArrayShadow ./bin/tex-miplevel-selection textureOffset 2DArray ./bin/tex-miplevel-selection textureOffset(bias) 1DArray ./bin/tex-miplevel-selection textureOffset(bias) 2DArray v2: rewrite to handle more cases and be consistent with code above. Reviewed-by:
Glenn Kennard <glenn.kennard@gmail.com> Cc: "10.3 10.4" <mesa-stable@lists.freedesktop.org> Signed-off-by:
Dave Airlie <airlied@redhat.com> (cherry picked from commit 1830138c)
-
Otherwise we seem to lose the split_gs_inputs and try and pull from an uninitialised register. fixes 9 texelFetch geom shader tests. Reviewed-by:
Glenn Kennard <glenn.kennard@gmail.com> Cc: "10.3 10.4" <mesa-stable@lists.freedesktop.org> Signed-off-by:
Dave Airlie <airlied@redhat.com> (cherry picked from commit d4c342f6)
-
Cc: 10.4 <mesa-stable@lists.freedesktop.org> Reviewed-by:
Michel Dänzer <michel.daenzer@amd.com> (cherry picked from commit da2dea38)
-
Not all drivers can set gl_Layer from VS. Add a fallback that passes the instance id from VS to GS, and then uses the GS to set the layer. Tested by adding quad_buffers |= clear_buffers; clear_buffers = 0; to the st_Clear logic, and forcing set_vertex_shader_layered in all cases. No piglit regressions (on piglits with 'clear' in the name). Signed-off-by:
Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by:
Marek Olšák <marek.olsak@amd.com> Cc: "10.4 10.3" <mesa-stable@lists.freedesktop.org> (cherry picked from commit 68db29c4)
-
Some of the geom shader tests produce an empty vertex shader, on cayman we'd crash in the finaliser because last_cf was NULL. cayman doesn't need the NOP workaround, so if the code arrives here with no last_cf, just emit an END. fixes crashes in a bunch of piglit geom shader tests. Cc: "10.3 10.4" <mesa-stable@lists.freedesktop.org> Reviewed-by:
Glenn Kennard <glenn.kennard@gmail.com> Signed-off-by:
Dave Airlie <airlied@redhat.com> (cherry picked from commit 4e520101)
-
It appears on cayman the TG4 outputs were reordered. This fixes a lot of piglit tests. Cc: "10.3 10.4" <mesa-stable@lists.freedesktop.org> Reviewed-by:
Glenn Kennard <glenn.kennard@gmail.com> Signed-off-by:
Dave Airlie <airlied@redhat.com> (cherry picked from commit 27e1e0e7)
-
This fixes tests/spec/glsl-1.10/execution/fs-op-assign-mult-ivec2-ivec2-overwrite.shader_test. hopeful fix for fd.o bug 85376 Reported-by: ghallberg Cc: "10.3 10.4" <mesa-stable@lists.freedesktop.org> Reviewed-by:
Glenn Kennard <glenn.kennard@gmail.com> Signed-off-by:
Dave Airlie <airlied@redhat.com> (cherry picked from commit 4a128d5a)
-
The sampler_array_size field was added by "mesa/st: add support for dynamic sampler offsets". But the field wasn't getting copied in the get_pixel_transfer_visitor() or get_bitmap_visitor() functions. The count_resources() function then didn't properly compute the glsl_to_tgsi_visitor::samplers_used bitmask. Then, we didn't declare all the sampler registers in st_translate_program(). Finally, we asserted when we tried to emit a tgsi ureg src register with File = TGSI_FILE_UNDEFINED. Add the missing assignments and some new assertions to catch the invalid register sooner. Cc: "10.3, 10.4" <mesa-stable@lists.freedesktop.org> Reviewed-by:
Ilia Mirkin <imirkin@alum.mit.edu> (cherry picked from commit 11abd7b2)
-
Using the asynchronous DMA engine for multi-dimensional operations seems to cause random GPU lockups for various people. While the root cause for this might need to be fixed in the kernel, let's disable it for now. Before re-enabling this, please make sure you can hit all newly enabled paths in your testing, preferably with both piglit and real world apps, and get in touch with people on the bug reports below for stability testing. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=85647 Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=83500 Cc: "10.3 10.4" <mesa-stable@lists.freedesktop.org> Reviewed-by:
Marek Olšák <marek.olsak@amd.com> Reviewed-by:
Grigori Goronzy <greg@chown.ath.cx> (cherry picked from commit ae4536b4)
-
GLXBadProfileARB and X_GLXCreateContextAtrribsARB require glproto >= 1.4.13. These symbols were added in commit d5d41112 "st/xlib: Generate errors as specified." Signed-off-by:
Vinson Lee <vlee@freedesktop.org> Cc: "10.4" <mesa-stable@lists.freedesktop.org> Reviewed-by:
José Fonseca <jfonseca@vmware.com> (cherry picked from commit 876c5337)
-
Emil Velikov authored
So when checking/building sse code we have three possibilities: 1 Old compiler, throws an error when using -msse* 2 New compiler, user disables sse* (-mno-sse*) 3 New compiler, user doesn't disable sse The original code, added code for #1 but not #2. Later on we patched around the lack of handling #2 by wrapping the code in __SSE4_1__. Yet it lead to a missing/undefined symbol in case of #1 or #2, which might cause an issue for #2 when using the i965 driver. A bit later we "fixed" the undefined symbol by using #1, rather than updating it to handle #2. With this commit we set things straight :) To top it all up, conventions state that in case of conflicting (-enable-foo -disable-foo) options, the latter one takes precedence. Thus we need to make sure to prepend -msse4.1 to CFLAGS in our test. v2: Clean the #includes. Suggested by Ilia, Matt & Siavash. Cc: "10.3 10.4" <mesa-stable@lists.freedesktop.org> Tested-by:
David Heidelberg <david@ixit.cz> Tested-by:
Siavash Eliasi <siavashserver@gmail.com> Reviewed-by:
Matt Turner <mattst88@gmail.com> Signed-off-by:
Emil Velikov <emil.l.velikov@gmail.com> (cherry picked from commit 1a6ae840)
-
This enables the ARB_clip_control extension. Signed-off-by:
Ilia Mirkin <imirkin@alum.mit.edu> Cc: "10.4" <mesa-stable@lists.freedesktop.org> (cherry picked from commit 3bc42a09)
-
- Nov 18, 2014
-
-
Emil Velikov authored
Signed-off-by:
Emil Velikov <emil.l.velikov@gmail.com>
-
DRI_PRIME setups have different issues due the lack of dma-buf fences support in the drivers. For DRI3 DRI_PRIME, a race can appear, making tearings visible, or worse showing older content than expected. Until dma-buf fences are well supported (and by all drivers), an alternative is to send the buffers to the server only when rendering has finished. Since waiting the rendering has finished in the main thread has a performance impact, this patch uses an additional thread to offload the wait and the sending of the buffers to the server. Acked-by:
Jose Fonseca <jfonseca@vmware.com> Reviewed-by:
David Heidelberg <david@ixit.cz> Signed-off-by:
Axel Davy <axel.davy@ens.fr> (cherry picked from commit 7f565845)
-
Implements vblank_mode and throttling, which allows us change default ratio between framerate and input lag. Acked-by:
Jose Fonseca <jfonseca@vmware.com> Signed-off-by:
David Heidelberg <david@ixit.cz> Signed-off-by:
Axel Davy <axel.davy@ens.fr> (cherry picked from commit 948e6c52)
-
Work of Joakim Sindholt (zhasha) and Christoph Bumiller (chrisbmr). DRI3 port done by Axel Davy (mannerov). v2: - nine_debug.c: klass extended from 32 chars to 96 (for sure) by glennk - Nine improvements by Axel Davy (which also fixed some wine tests) - by Emil Velikov: - convert to static/shared drivers - Sort and cleanup the includes - Use AM_CPPFLAGS for the defines - Add the linker garbage collector - Restrict the exported symbols (think llvm) v3: - small nine fixes - build system improvements by Emil Velikov v4: [Emil Velikov] - Do no link against libudev. No longer needed. Acked-by:
Jose Fonseca <jfonseca@vmware.com> Reviewed-by:
Marek Olšák <marek.olsak@amd.com> Reviewed-by:
Axel Davy <axel.davy@ens.fr> Signed-off-by:
David Heidelberg <david@ixit.cz> (cherry picked from commit fdd96578) [Emil Velikov: use correct ureg_property* functions] Signed-off-by:
Emil Velikov <emil.l.velikov@gmail.com>
-
v3: thanks to Brian, improved coding style, also glennk helped spot few things (unsigned -> int, two constify) v4: thanks Ilia improved function, dropped u_box_clip_3d v5: incorporated rest of Gregor proposed changes,clean ups v6: u_box_clip_2d simplify proposed by Ilia Mirkin Acked-by:
Jose Fonseca <jfonseca@vmware.com> Reviewed-by:
Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by:
Marek Olšák <marek.olsak@amd.com> Signed-off-by:
David Heidelberg <david@ixit.cz> (cherry picked from commit 7d2573b5)
-
At this moment we use only zero or positive values. v2: Implement it for also for Solaris, MSVC assembly and enable for other combinations. v3: Replace MSVC assembly by assert + warning during compilation v4: remove inc and dec with return for MSVC assembly Acked-by:
Jose Fonseca <jfonseca@vmware.com> Reviewed-by:
Ilia Mirkin <imirkin@alum.mit.edu> Signed-off-by:
David Heidelberg <david@ixit.cz> (cherry picked from commit cb491321)
-
Implement pipe_loader_sw_probe_wrapped which allows to use the wrapped software renderer backend when using the pipe loader. v2: - remove unneeded ifdef - use GALLIUM_PIPE_LOADER_WINSYS_LIBS - check for CALLOC_STRUCT thanks to Emil Velikov Acked-by:
Jose Fonseca <jfonseca@vmware.com> Signed-off-by:
David Heidelberg <david@ixit.cz> (cherry picked from commit e23d63cf)
-
Acked-by:
Jose Fonseca <jfonseca@vmware.com> Signed-off-by:
David Heidelberg <david@ixit.cz> (cherry picked from commit 8314315d)
-
v2: moved in in same order as in p_shader_tokens (thanks Brian) Acked-by:
Jose Fonseca <jfonseca@vmware.com> Reviewed-by:
Marek Olšák <marek.olsak@amd.com> Signed-off-by:
David Heidelberg <david@ixit.cz> (cherry picked from commit 259ec77d)
-