summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2014-08-22i965/cfg: Point to bblock_t containing associated control flowMatt Turner3-27/+15
... rather than pointing directly to the associated instruction. This will let us set the block containing the IF statement's else-pointer to NULL, when we delete a useless ELSE instruction, as in the case (+f0) if(8) ... else(8) endif(8) Also, remove the pointer to the ENDIF, since it's unused, and it was also potentially wrong, in the case of a basic block containing both an ENDIF and an IF instruction: endif(8) cmp.ne.f0(8) ... (+f0) if(8) Reviewed-by: Topi Pohjolainen <topi.pohjolainen@intel.com>
2014-08-22i965/fs: Preserve CFG in register allocation.Matt Turner2-10/+14
Reviewed-by: Topi Pohjolainen <topi.pohjolainen@intel.com>
2014-08-22i965: Use basic-block aware insertion/removal functions.Matt Turner9-40/+50
To avoid invalidating and recreating the control flow graph. Also stop invalidating the CFG in places we didn't add or remove an instruction. cfg calculations: 202951 -> 80307 (-60.43%) Reviewed-by: Topi Pohjolainen <topi.pohjolainen@intel.com>
2014-08-22i965: Add invalidate_cfg parameter to invalidate_live_intervals().Matt Turner5-7/+9
Will let us avoid invalidating the CFG if the optimization pass has removed instructions using the new basic block methods. Reviewed-by: Topi Pohjolainen <topi.pohjolainen@intel.com>
2014-08-22i965: Add basic-block aware backend_instruction::insert_* methods.Matt Turner2-0/+52
Reviewed-by: Topi Pohjolainen <topi.pohjolainen@intel.com>
2014-08-22i965: Add a basic-block aware backend_instruction::remove method.Matt Turner2-0/+50
Reviewed-by: Topi Pohjolainen <topi.pohjolainen@intel.com>
2014-08-22i965/cfg: Add a function to remove a block from the cfg.Matt Turner2-4/+59
Reviewed-by: Topi Pohjolainen <topi.pohjolainen@intel.com>
2014-08-22i965/cfg: Add functions to test if a block is a successor/predecessor.Matt Turner2-0/+26
Reviewed-by: Topi Pohjolainen <topi.pohjolainen@intel.com>
2014-08-22vc4: Add support for fragment discards.Eric Anholt4-0/+43
Fixes piglit glsl-fs-discard-01 and -03, and allows a lot of mesa demos to start running. glsl-fs-discard-02 has a problem where the first tile is not getting stored on the first render.
2014-08-22vc4: Make some helpers for setting condition codes in instructions.Eric Anholt3-15/+27
2014-08-22vc4: Avoid using undefined values when there's no color write.Eric Anholt1-8/+27
The simulator assertion fails when you read-before-write a temporary value, and there's no point in doing the packing if there was no color written.
2014-08-22vc4: Emit the scoreboard wait just when it's needed.Eric Anholt1-2/+25
This should improve performance on real hardware by allowing more shader instances to run in parallel. It also fixes assertion failures in tests that don't emit a fragment color, since otherwise we didn't have enough instructions to fit our signals in.
2014-08-22vc4: Fix FLR for integer values less than 0.Eric Anholt1-1/+7
If we didn't truncate at all, then we don't need to fix for truncation happening in the wrong direction. Fixes piglit builtin-functions/*-floor-*
2014-08-22vc4: Fix totally broken assertions about inter-instruction reg conflicts.Eric Anholt1-3/+18
The spec citation talked about A and B, and I proceeded to pay no attention to whether the waddrs were for A or B. As a result, this pair of instructions would claim to conflict: mov ra4, ra4 ; nop nop, r0, r0 mov.ns ra4, rb4 ; nop nop, r0, r0
2014-08-22vc4: Add support for all the texture and FBO formats we can.Eric Anholt7-72/+203
Now that tiling is in place, we can expose the other formats. Depth is still broken (need to make changes in the shader), but if you don't expose it things crash all over. SNORM is dropped, but we could re-add it later with some shader fixes to handle converting between [0,1] and [-1,1].
2014-08-22vc4: Add support for texture tiling.Eric Anholt10-53/+626
This still treats everything as RGBA8888 for the most part, same as before. This is a prerequisite for handling other texture formats, since only RGBA8888 has a raster-layout mode.
2014-08-22vc4: Fix a typo in the validation for miplevels.Eric Anholt1-1/+1
It meant that LUMALPHA was being marked as *many* miplevels, and unsurprisingly wouldn't validate. On the other hand, some miplevel counts wouldn't get the small mips validated at all.
2014-08-22vc4: Convert to using an enum for texture data typesEric Anholt2-20/+43
2014-08-22vc4: Stop complaining about unknown texture channel types.Eric Anholt1-10/+0
It doesn't matter to this code -- the sampler always returns 8-bit unorm rgba.
2014-08-22vc4: Include stdio/stdlib in headers so I don't have to include it per file.Eric Anholt15-21/+4
There are a few tools I want to have always available, and fprintf() and abort() are among them.
2014-08-22i965: Fix JIP/UIP calculations.Matt Turner1-8/+6
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=82846 Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=82929
2014-08-22st/clover: Change platform name from Default to CloverAaron Watry1-1/+1
Signed-off-by: Aaron Watry <awatry at gmail.com> Reviewed-by: Francisco Jerez <currojerez@riseup.net>
2014-08-21dri/radeon: nuke the remaining references to sareaEmil Velikov3-11/+0
Remainder of the dri1 times. Cc: Marek Olšák <marek.olsak@amd.com> Cc: Michel Dänzer <michel.daenzer@amd.com> Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com> Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
2014-08-21dri/radeon: cleanup the radeon_context vtblEmil Velikov8-163/+0
Remove the set-but-unused, and set-but-empty vtable entries. Most likely a leftover from the dri1 days. Cc: Marek Olšák <marek.olsak@amd.com> Cc: Michel Dänzer <michel.daenzer@amd.com> Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com> Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
2014-08-21include: move sarea.h next to it's only userEmil Velikov2-2/+2
The header is used by DRI1 drivers, which we've removed a while back. Now only the dri1 loader in libGL is using it, so let's move it in src/glx, and prefix it accordingly. Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com> Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
2014-08-21dri/radeon: drop obsolete radeon_{dri,macros}.h headersEmil Velikov7-248/+2
Both have been unused for at least a couple of years. For example the last user of radeon_macros.h was removed with commit 8c11f0a88300f7bc3f05a12789c781ba0f4b3cc6 Author: Eric Anholt <eric@anholt.net> Date: Fri Oct 14 13:27:02 2011 -0700 radeon: Drop the legacy BO manager code. Cc: Marek Olšák <marek.olsak@amd.com> Cc: Michel Dänzer <michel.daenzer@amd.com> Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com> Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
2014-08-21SCons: Rename dri2_query_renderer.c to dri_common_query_renderer.c.Vinson Lee1-1/+1
Fix SCons build error introduced with commit 3fe7daec14282dc8e2f5c8cc547927e305009677. Signed-off-by: Vinson Lee <vlee@freedesktop.org>
2014-08-21glsl/linker: pass through the is_intrinsic flagConnor Abbott1-0/+2
This flag was set to true for the atomic counter intrinsics, but it never got plumbed through the linker, so by the time it got to the backends it would always be set to the false. The current i965 backend code doesn't use is_intrinsic, so this should not change any existing code, but it's useful for codepaths that want to distinguish between intrinsics and non-intrinsics without using strcmp. Reviewed-by: Matt Turner <mattst88@gmail.com> Signed-off-by: Connor Abbott <connor.abbott@intel.com>
2014-08-21docs: Update instructions for creating a releaseCarl Worth1-30/+180
This captures all of the steps I have been following in making releases for the past year or so. This way, the instructions should be sound for anyone who would like to take over the release process going forward.
2014-08-21llvmpipe: change LP_MAX_SHADER_INSTRUCTIONS definitionRoland Scheidegger1-1/+1
This change will double cache size for branches which have a lower LP_MAX_SHADER_VARIANTS limit (it will not do anything on master). The reason is that nowadays shaders tend to be quite a bit larger than they were (they were big when llvmpipe didn't have a fs loop, got much smaller with that loop, and since then have gradually increased quite a bit though still smaller than without the fs loop for various reasons - among them being d3d10 compliance, usage of 8-wide vectors, non-swizzled blend code). Thus effectively less shaders would be cached (unless they were very small and the variant limit was hit first). Also, since we're getting rid of the IR nowadays, the cached shaders shouldn't need all that much memory actually.
2014-08-21docs: Add my notes on stable-branch patch criteriaCarl Worth1-6/+84
This captures the set of rules I have been using for stable-branch management, (starting with a discussion on the mesa-dev mailing list on July 2013, and then refined through my own experience of performing stable-branch releases since then).
2014-08-21Makefile: Switch from md5sums to sha256sumsCarl Worth1-5/+5
We switched to these several stable releases ago, (since the MD5 algorithm has been broken for some time), but only now did I get around to fixing this in the Makefile rather than just performing this step manually. CC: "10.2 10.3" <mesa-stable@lists.freedesktop.org>
2014-08-21glx: Fix build since 679c2ef "glx/drisw: add support for ↵Jon TURNEY5-20/+20
DRI2rendererQueryExtension", when only building drisw renderer v2: - Move dri*_query_renderer_* into their respective dri*_priv.h headers - Drop then unnneeded include of dri2.h from dri2_query_renderer.c - Rename dri2_query_renderer.c as dri_common_query_renderer.c, as it's contents now are used for more than dri[23] Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk> Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
2014-08-21Increment version to 10.4.0-develCarl Worth1-1/+1
Now that the 10.3 branch has been created
2014-08-21radeonsi: add new SI pci idsAlex Deucher1-0/+4
Signed-off-by: Alex Deucher <alexander.deucher@amd.com> Cc: mesa-stable@lists.freedesktop.org
2014-08-21radeonsi: add new CIK pci idsAlex Deucher1-0/+3
Signed-off-by: Alex Deucher <alexander.deucher@amd.com> Cc: mesa-stable@lists.freedesktop.org
2014-08-21r600g: Fix flat/smooth shade state toggle10.3-branchpointGlenn Kennard1-1/+3
If only the flat/smooth shade state changed between two render calls the prior code would miss updating the hardware state. Also add check for sprite coord, potentially same type of issue otherwise for it. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=81967 Signed-off-by: Glenn Kennard <glenn.kennard@gmail.com> Signed-off-by: Marek Olšák <marek.olsak@amd.com>
2014-08-21r600g/compute: Don't initialize vertex_buffer_state masks to 0x2Tom Stellard1-3/+0
cs_vertex_buffer_state.enabled_mask and cs_vertex_buffer_state.dirty_mask are both updated when r600_set_constant_buffer() is called, so we don't need to manually update these values. This fixes a crash with OpenCL programs that have a kernel with no arguments. https://bugs.freedesktop.org/show_bug.cgi?id=82671 CC: "10.2" <mesa-stable@lists.freedesktop.org>
2014-08-21r600g/compute: Use the first parameter in evergreen_set_global_binding()Tom Stellard1-2/+3
2014-08-21pipe-loader: Fix memory leak v2Tom Stellard2-2/+2
v2: - Change driver_name to char* Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com> CC: "10.2" <mesa-stable@lists.freedesktop.org>
2014-08-21radeon: Add work-around for missing Hainan support in clang < 3.6 v2Tom Stellard1-1/+14
v2: - Add missing break. https://bugs.freedesktop.org/show_bug.cgi?id=82709 CC: "10.2" <mesa-stable@lists.freedesktop.org>
2014-08-21st/clover: Fix build against LLVM SVN >= r215967 v2Michel Dänzer1-2/+14
v2: Tom Stellard - Properly destroy the Module Reviewed-by: Francisco Jerez <currojerez@riseup.net>
2014-08-20i965,meta: Stop unlocking the texture to try and prevent deadlocks.Kenneth Graunke2-22/+0
Unlocking the texture is not safe: another thread could come in and grab it. Now that we use a recursive mutex, this should work. This also fixes texture lock deadlocks in the new meta fast clear path. Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Kristian Høgsberg <krh@bitplanet.net> Tested-by: Chris Forbes <chrisf@ijw.co.nz>
2014-08-20mesa: Use a recursive mutex for the texture lock.Kenneth Graunke1-1/+1
This avoids problems with things like meta operations calling functions that want to take the lock while the lock is already held. Basically, the point is to guard against API reentrancy across threads...not to guard against ourselves. Dave Airlie opposed this change, but it makes master usable again and no one proposed a better solution. We can revert this if/when someone does. Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Kristian Høgsberg <krh@bitplanet.net> Tested-by: Chris Forbes <chrisf@ijw.co.nz>
2014-08-20glcpp: Fix glcpp-test-cr-lf "make check" test for Mac OS XCarl Worth1-2/+2
There were two problems with the way this script used sed on OS X: 1. The OS X sed doesn't interpret "\r" in a replacement list as a carriage-return character, (instead it was inserting a literal 'r' character). We fix this by putting an actual ^M character into the source of the script, (rather than a two-character escape sequence hoping for sed to do the right thing). 2. When generating the test files with LF-CR ("\n\r") newlines, the OS X sed was adding an undesired final newline ("\n") at the end of the file. We avoid this by first using sed to add the ^M before the newlines, then using tr to swap the \r and \n characters. This way, sed never sees any lines ending with anything but \n, so it doesn't get confused and doesn't add any bogus extra newlines. Tested-by: Vinson Lee <vlee@freedesktop.org> Vinson's testing confirmed that this patch fixes FreeBSD as well.
2014-08-20glcpp: Use printf instead of "echo -n" in glcpp-testCarl Worth1-2/+2
I noticed that with /bin/sh on Mac OS X, "echo -n" does not work as desired, (it actually prints "-n" rather than suppressing the final newline). There is a /bin/echo that could be used (it actually works) instead of the builtin echo. But I decided it's more robust to just use printf rather than hardcoding /bin/echo into the script.
2014-08-20i965/vec4: Allow reswizzling writemasks when swizzle is single-valued.Matt Turner1-27/+33
total instructions in shared programs: 4288033 -> 4266151 (-0.51%) instructions in affected programs: 930915 -> 909033 (-2.35%)
2014-08-20Teach os_get_total_physical_memory about CygwinJon TURNEY1-2/+2
Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk> Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
2014-08-20r300g: Fix path to test programs for out-of-tree buildsMichel Dänzer2-1/+2
Fixes make check in that case. Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
2014-08-20gallivm: Fix build with LLVM >= 3.6 r215967.Vinson Lee1-0/+4
This LLVM 3.6 commit changed EngineBuilder constructor. commit 3f4ed32b4398eaf4fe0080d8001ba01e6c2f43c8 Author: Rafael Espindola <rafael.espindola@gmail.com> Date: Tue Aug 19 04:04:25 2014 +0000 Make it explicit that ExecutionEngine takes ownership of the modules. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@215967 91177308-0d34-0410-b5e6-96231b3b80d8 Signed-off-by: Vinson Lee <vlee@freedesktop.org> Reviewed-and-Tested-by: Michel Dänzer <michel.daenzer@amd.com>