summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2014-01-10add deps to stlport and bionic, fixes compile time issues with9.2Tom Gall
includes not being found
2014-01-10remove dep on libgralloc_drm since for swrast we don't need itTom Gall
2014-01-10fix compile time issues which are all due to casting issues.Tom Gall
2014-01-10Remove these glsl scripts as they aren't needed for glsl es andTom Gall
they hang the glsl compiler.
2013-12-12docs: Add md5sums for the 9.2.5 release.Carl Worth
2013-12-12docs: Add release notes for 9.2.5Carl Worth
2013-12-12Bump version to 9.2.5Carl Worth
In preparation for the 9.2.5 release.
2013-12-12i965/fs: Gen4-5: Implement alpha test in shader for MRTChris Forbes
V2: Add comment explaining what emit_alpha_test() is for; fix spurious temp and bogus whitespace. Signed-off-by: Chris Forbes <chrisf@ijw.co.nz> Reviewed-by: Eric Anholt <eric@anholt.net> (cherry picked from commit f7e15fcf56595aac99644292386a6e6d06dc6ec0)
2013-12-12i965/fs: Gen4-5: Setup discard masks for MRT alpha testChris Forbes
The same setup is required here as when the user-provided shader explicitly uses KIL or discard. Signed-off-by: Chris Forbes <chrisf@ijw.co.nz> Reviewed-by: Eric Anholt <eric@anholt.net> (cherry picked from commit ca82ba90dd7ef78be2b95972dc19913c76d5e6a8)
2013-12-12i965: Gen4-5: Include alpha func/ref in program keyChris Forbes
V2: Better explanation of the rationale for doing this. Signed-off-by: Chris Forbes <chrisf@ijw.co.nz> Reviewed-by: Eric Anholt <eric@anholt.net> (cherry picked from commit 1080fc610ef20e376c3a54b3cee2be911df9f012)
2013-12-12i965: Gen4-5: Don't enable hardware alpha test with MRTChris Forbes
We have to do this in the shader instead, since these gens lack an independent RT0 alpha value in their render target write messages. Signed-off-by: Chris Forbes <chrisf@ijw.co.nz> Reviewed-by: Eric Anholt <eric@anholt.net> (cherry picked from commit dbcd633040939565f91eedac6ea313503ac9f0a5)
2013-12-12st/xorg: Handle new DamageUnregister API which has only one argumentChí-Thanh Christopher Nguyễn
This fixes building against the new API in X server 1.15 Taken from xf86-video-modesetting beca4dfb0e4d11d3729214967a1fe56ee5669831 from Keith Packard
2013-12-12nv50: report 15 max inputs for fragment programsIlia Mirkin
First off, nv50_program only has 16 in/out varyings. However reporting 16 makes 'm' become 68 in nv50_fp_linkage_validate with the varying-packing-simple piglit test. (Subverting the assert makes it compile but fail.) With this patch, varying-packing-simple passes. See: https://bugs.freedesktop.org/show_bug.cgi?id=69155 Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Cc: "9.2 10.0" <mesa-stable@lists.freedesktop.org> (cherry picked from commit bad8871e524cf518bc5da4ac52c1618a115054a7)
2013-12-12swrast: fix readback regression since inversion fixDave Airlie
This readback from the frontbuffer with swrast was broken, that bug just made it more obviously broken, this fixes it by inverting the sub image gets. Also fixes a few other piglits. Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=72327 Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=72325 (for 9.2 the patches this depends on were asked to be backported separately in an email). Cc: "9.2" "10.0" mesa-stable@lists.fedoraproject.org Reviewed-by: Brian Paul <brianp@vmware.com> Signed-off-by: Dave Airlie <airlied@redhat.com> (cherry picked from commit 0b16042377a6981ff9bba92387889524a3547b3f)
2013-12-12glx: don't fail out when no configs if we have visualsDave Airlie
GLX 1.2 servers with no SGIX_fbconfigs exist (some citrix thing), and we fail glxinfo completely in those cases. CC: <mesa-stable@lists.freedesktop.org> Reviewed-by: Adam Jackson <ajax@redhat.com> Reviewed-by: Brian Paul <brianp@vmware.com> Signed-off-by: Dave Airlie <airlied@redhat.com> (cherry picked from commit b01a3a9b72ed8d4899b4552658da7233c451142a)
2013-12-12mesa/swrast: fix inverted front buffer rendering with old-school swrastDave Airlie
I've no idea when this broke, but we have some people who wanted it fixed, so here's my attempt. reproducer, run readpix with swrast hit f, or run trival tri -sb things are upside down, after this patch they aren't. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=62142 Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=66213 Cc: <mesa-stable@lists.freedesktop.org>" Signed-off-by: Dave Airlie <airlied@redhat.com> (cherry picked from commit a43b49dfb13dc7e6d2d6d7ceee892077038d7102)
2013-12-12r300/compiler/tests: Fix line length check in test parserTom Stellard
Reviewed-by: Alex Deucher <alexander.deucher@amd.com> CC: "9.2" "10.0" <mesa-stable@lists.freedesktop.org> (cherry picked from commit 9a5ce0c4c971a8511574e10dd3ef37eebbe65ce7)
2013-12-12r300/compiler/tests: Fix segfaultTom Stellard
Reviewed-by: Alex Deucher <alexander.deucher@amd.com> CC: "9.2" "10.0" <mesa-stable@lists.freedesktop.org> (cherry picked from commit 1896431f7933e727a0f75c0e0a2da4c580a04a72)
2013-12-12glsl: Don't emit empty declaration warning for a struct specifierIan Romanick
The intention is that things like int; will generate a warning. However, we were also accidentally emitting the same warning for things like struct Foo { int x; }; Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=68838 Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Cc: Aras Pranckevicius <aras@unity3d.com> Cc: "9.2 10.0" <mesa-stable@lists.freedesktop.org> (cherry picked from commit 758658850bd5ba64bf2e8c04516ea1292aedcfc3)
2013-12-12nv50: wait on the buf's fence before sticking it into pushbufIlia Mirkin
This resolves some rendering issues in source games. See https://bugs.freedesktop.org/show_bug.cgi?id=64323 Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Cc: "9.2 10.0" <mesa-stable@lists.freedesktop.org> (cherry picked from commit 0e5bf8565106833e1a678ebdae81fdf1657391c9)
2013-12-12nouveau: avoid leaking fences while waitingIlia Mirkin
This fixes a memory leak in some situations. Also avoids emitting an extra fence if the kick handler does the call to nouveau_fence_next itself. Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Cc: "9.2 10.0" <mesa-stable@lists.freedesktop.org> (cherry picked from commit ce6dd69697ae62d9336bbd4f5808bc4d75cdcc04)
2013-12-12nv50: Fix GPU_READING/WRITING bit removalIlia Mirkin
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> CC: "9.1, 9.2, 10.0" <mesa-stable@lists.freedesktop.org> (cherry picked from commit c45cf6199fc493538cef33125c8a97a892e2ca83)
2013-12-12i965: Add extra-alignment for non-msrt fast color clear for all hw (v2)Chad Versace
The BSpec states that the aligment for the non-msrt clear rectangle must be doubled; the BSpec does not restricit the workaround to specific hardware. Commit 9a1a67b applied the workaround to Haswell GT3. Commit 8b659ce expanded the workaround to all Haswell variants. This commit expands it to all hardware. No Piglit regressions on Ivybridge 0x0166. No fixes either. I know no Ivybridge nor Baytrail bug related to this workaround. However, the BSpec says the extra alignment is required, so let's do it. v2: Apply to all hardware, not just gen7. CC: "9.2, 10.0" <mesa-stable@lists.freedesktop.org> CC: Anuj Phogat <anuj.phogat@gmail.com> Reviewed-by: Paul Berry <stereotype441@gmail.com> Signed-off-by: Chad Versace <chad.versace@linux.intel.com> (cherry picked from commit 998018d7be1380f055fb577b0782004657cc9509)
2013-12-12i965/hsw: Apply non-msrt fast color clear w/a to all HSW GTsChad Versace
Pre-patch, the workaround was applied to only HSW GT3. However, the workaround also fixes render corruption on the HSW GT1 Chromebook, codenamed Falco. Also, update the BSpec quote that discusses the workaround to reflect the latest BSpec. The BSpec states that the workaround is required for Ivybridge and Baytrail as well as Haswell. But, we apply the workaround to only Haswell because (a) we suspect that is the only hardware where it is actually required and (b) we haven't yet validated the workaround for the other hardware. CC: "9.2, 10.0" <mesa-stable@lists.freedesktop.org> CC: Anuj Phogat <anuj.phogat@gmail.com> OTC-Tracker: CHRMOS-812 Reviewed-by: Paul Berry <stereotype441@gmail.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Signed-off-by: Chad Versace <chad.versace@linux.intel.com> (cherry picked from commit 8b659cef3a244b1acdbbca0beb704a66b6bc2fbc)
2013-11-27docs: Add md5sums for the 9.2.4 releaseCarl Worth
Just after tagging the 9.2.4 release and making the tar files.
2013-11-27docs: Add release notes for the 9.2.4 release.Carl Worth
2013-11-27Bump version to 9.2.4Carl Worth
In preparation for the 9.2.4 release.
2013-11-26glsl: Fix lowering of direct assignment in lower_clip_distance.Paul Berry
In commit 065da16 (glsl: Convert lower_clip_distance_visitor to be an ir_rvalue_visitor), we failed to notice that since lower_clip_distance_visitor overrides visit_leave(ir_assignment *), ir_rvalue_visitor::visit_leave(ir_assignment *) wasn't getting called. As a result, clip distance dereferences appearing directly on the right hand side of an assignment (not in a subexpression) weren't getting properly lowered. This caused an ir_dereference_variable node to be left in the IR that referred to the old gl_ClipDistance variable. However, since the lowering pass replaces gl_ClipDistance with gl_ClipDistanceMESA, this turned into a dangling pointer when the IR got reparented. Prior to the introduction of geometry shaders, this bug was unlikely to arise, because (a) reading from gl_ClipDistance[i] in the fragment shader was rare, and (b) when it happened, it was likely that it would either appear in a subexpression, or be hoisted into a subexpression by tree grafting. However, in a geometry shader, we're likely to see a statement like this, which would trigger the bug: gl_ClipDistance[i] = gl_in[j].gl_ClipDistance[i]; This patch causes lower_clip_distance_visitor::visit_leave(ir_assignment *) to call the base class visitor, so that the right hand side of the assignment is properly lowered. Fixes piglit test: - spec/glsl-1.50/execution/geometry/clip-distance-itemized-copy Cc: Ian Romanick <idr@freedesktop.org> Cc: "9.2" <mesa-stable@lists.freedesktop.org> Cc: "10.0" <mesa-stable@lists.freedesktop.org> Reviewed-by: Eric Anholt <eric@anholt.net> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com> (cherry picked from commit 9dfcb05fa649ee7a573eab3d16851ebd4cb96010)
2013-11-26mesa: enable GL_TEXTURE_LOD_BIAS set/getTapani Pälli
Earlier comments suggest this was removed from GL core spec but it is still there. Enabling makes 'texture_lod_bias_getter' Khronos conformance tests pass, also removes some errors from Metro Last Light game which is using this API. v2: leave NOTE comment (Ian) Cc: "9.0 9.1 9.2 10.0" <mesa-stable@lists.freedesktop.org> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com> Signed-off-by: Tapani Pälli <tapani.palli@intel.com> (cherry picked from commit 7e61b44dcd6175579f60d8ff2f703a6c83e33d27)
2013-11-26st/mesa: fix GL_FEEDBACK mode inverted Y coordinate bugBrian Paul
We need to check the drawbuffer's orientation before inverting Y coordinates. Fixes piglit feedback tests when running with the -fbo option. Cc: "9.2" "10.0" <mesa-stable@lists.freedesktop.org> Reviewed-by: Marek Olšák <marek.olsak@amd.com> (cherry picked from commit 15d8e05e1e98a9bfd5a365d0fda222668f24261f)
2013-11-26i965: Fix vertical alignment for multisampled buffers.Paul Berry
From the Sandy Bridge PRM, Vol 1 Part 1 7.18.3.4 (Alignment Unit Size): j [vertical alignment] = 4 for any render target surface is multisampled (4x) From the Ivy Bridge PRM, Vol 4 Part 1 2.12.2.1 (SURFACE_STATE for most messages), under the "Surface Vertical Alignment" heading: This field is intended to be set to VALIGN_4 if the surface was rendered as a depth buffer, for a multisampled (4x) render target, or for a multisampled (8x) render target, since these surfaces support only alignment of 4. Back in 2012 when we added multisampling support to the i965 driver, we forgot to update the logic for computing the vertical alignment, so we were often using a vertical alignment of 2 for multisampled buffers, leading to subtle rendering errors. Note that the specs also require a vertical alignment of 4 for all Y-tiled render target surfaces; I plan to address that in a separate patch. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=53077 Cc: mesa-stable@lists.freedesktop.org Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Eric Anholt <eric@anholt.net> (cherry picked from commit b4c3b833ec8ec6787658ea90365ff565cd8846c7)
2013-11-26Merge branch '9.2-freedreno' of git://github.com/freedreno/mesa into 9.2Carl Worth
This allows the freedreno driver to build with current mesa.
2013-11-13freedreno: updates for msm drm/kms driverRob Clark
There where some small API tweaks in libdrm_freedreno to enable support for msm drm/kms driver. Signed-off-by: Rob Clark <robclark@freedesktop.org>
2013-11-13freedreno/a3xx/compiler: handle sync flags betterRob Clark
We need to set the flag on all the .xyzw components that are written by the instruction, not just on .x. Otherwise a later use of rN.y (for example) will not trigger the appropriate sync bit to be set. Signed-off-by: Rob Clark <robclark@freedesktop.org>
2013-11-13freedreno/a3xx/compiler: better const handlingRob Clark
Seems like most/all instructions have some restrictions about const src registers. In seems like the 2 src (cat2) instructions can take at most one const, and the 3 src (cat3) instructions can take at most one const in the first 2 arguments. And so on. Handle this properly now. Signed-off-by: Rob Clark <robclark@freedesktop.org>
2013-11-13freedreno/a3xx: don't leak so muchRob Clark
Signed-off-by: Rob Clark <robclark@freedesktop.org>
2013-11-13freedreno/a3xx/compiler: fix SGT/SLT/etcRob Clark
The cmps.f.* instruction doesn't actually seem to give a float 1.0 or 0.0 output. It either needs a cov.u16f16 or add.s + sel.f16. This makes SGT/SLT/etc more similar to CMP, so handle them in trans_cmp(). This fixes a bunch of piglit tests. Signed-off-by: Rob Clark <robclark@freedesktop.org>
2013-11-13freedreno/a3xx/compiler: bit of re-arrange/cleanupRob Clark
It seems there are a number of cases where instructions have limitations about taking reading src's from const register file, so make get_unconst() a bit easier to use. Signed-off-by: Rob Clark <robclark@freedesktop.org>
2013-11-13freedreno/a3xx/compiler: make compiler errors more usefulRob Clark
We probably should get rid of assert() entirely, but at this stage it is more useful for things to crash where we can catch it in a debugger. With compile_error() we have a single place to set an error flag (to bail out and return an error on the next instruction) so that will be a small change later when enough of the compiler bugs are sorted. But re-arrange/cleanup the error/assert stuff so we at least get a dump of the TGSI that triggered it. So we see some useful output in piglit logs. Signed-off-by: Rob Clark <robclark@freedesktop.org>
2013-11-13freedreno: fix segfault when no color buffer boundRob Clark
Don't crash when no color buffer bound. Something caught when starting to run piglit, fixes a hanful of piglit tests. Signed-off-by: Rob Clark <robclark@freedesktop.org>
2013-11-13freedreno/a3xx/compiler: cat4 cannot use const reg as srcRob Clark
Category 4 instructions (rsq, rcp, sqrt, etc) seem to be unable to take a const register as src. In these cases we need to move the src to a temporary gpr first. This is the second case of such a restriction, where the instruction encoding appears to support a const src, but in fact the hw appears to ignore that bit. So split things out into a helper that can be re-used for any instructions which have this limitation. Signed-off-by: Rob Clark <robclark@freedesktop.org>
2013-11-13freedreno/a3xx/compiler: use max_reg rather than file_countRob Clark
Our current (rather naive) register assignment is based on mapping different register files (INPUT, OUTPUT, TEMP, CONST, etc) based on the max register index of the preceding file. But in some cases, the lowest used register in a file might not be zero. In which case file_count[file] != file_max[file] + 1. Signed-off-by: Rob Clark <robclark@freedesktop.org>
2013-11-13freedreno/a3xx/compiler: handle saturate on dstRob Clark
Sometimes things other than color dst need saturating, like if there is a 'clamp(foo, 0.0, 1.0)'. So for saturated dst add the extra instructions to fix up dst. Signed-off-by: Rob Clark <robclark@freedesktop.org>
2013-11-13freedreno/a3xx/compiler: fix CMPRob Clark
The 1st src to add.s needs (r) flag (repeat), otherwise it will end up: add.s dst.xyzw, tmp.xxxx -1 instead of: add.s dst.xyzw, tmp.xyzw, -1 Also, if we are using a temporary dst to avoid clobbering one of the src registers, we actually need to use that as the dst for the sel instruction. Signed-off-by: Rob Clark <robclark@freedesktop.org>
2013-11-13freedreno/a3xx: some texture fixesRob Clark
Stop hard coding bits that indicate texture type (2d/3d/cube/etc). Signed-off-by: Rob Clark <robclark@freedesktop.org>
2013-11-13freedreno: update register headersRob Clark
resync w/ rnndb database Signed-off-by: Rob Clark <robclark@freedesktop.org>
2013-11-13freedreno: add debug option to disable scissor optimizationRob Clark
Useful for testing and debugging. Signed-off-by: Rob Clark <robclark@freedesktop.org>
2013-11-13freedreno/a3xx: fix viewport on gmem->mem resolveRob Clark
Signed-off-by: Rob Clark <robclark@freedesktop.org>
2013-11-13docs: Add MD5 sums for the 9.2.3 releaseCarl Worth
We can do this now that the release tree has been tagged and tar files have been generated.
2013-11-13docs: Add releases notes for 9.2.3 releaseCarl Worth
Which cannot have the checksums yet, of course.