Tom Stellard [Mon, 18 Apr 2011 05:33:04 +0000 (22:33 -0700)]
r300/compiler: Handle loops in the register allocator
Tom Stellard [Tue, 12 Apr 2011 23:08:25 +0000 (16:08 -0700)]
r300/compiler: Handle loops in rc_get_readers()
Tom Stellard [Tue, 11 Jan 2011 08:05:08 +0000 (00:05 -0800)]
r300/compiler: Rewrite register allocator
The new allocator uses ra and does swizzle packing.
Also, a data structure (struct rc_variable) and associated functions have
been added for generating UD and DU chains.
Tom Stellard [Sun, 27 Mar 2011 05:56:08 +0000 (22:56 -0700)]
ra: Add ra_set_node_reg()
This function can be used to avoid creating single register classes for
input/payload registers. This makes optimistic coloring less likely
to fail.
Reviewed-by: Eric Anholt <eric@anholt.net>
Tom Stellard [Sun, 20 Mar 2011 07:09:30 +0000 (00:09 -0700)]
r300/compiler: Use RC_MASK_W when converting RGB to Alpha instructions
Tom Stellard [Sun, 30 Jan 2011 23:29:29 +0000 (15:29 -0800)]
r300/compiler: rc_reader_data: Add ExitOnAbort flag
Tom Stellard [Sat, 19 Mar 2011 04:34:56 +0000 (21:34 -0700)]
r300/compiler: Add more info to struct rc_reader
For pair instructions we need a reference to both the arg
and source.
Tom Stellard [Sat, 26 Mar 2011 00:05:53 +0000 (17:05 -0700)]
r300/compiler: Add remove dead sources pass
The instruction scheduler will sometimes leave orphaned sources when
converting instructions from RGB to Alpha. If one of these orphaned
sources has an index greater than the maximum temporary register index,
then the compiler will incorrectly report "Too many hardware temporaries
used". The dead sources pass cleans up these orphaned sources.
Marek Olšák [Sat, 30 Apr 2011 10:00:18 +0000 (12:00 +0200)]
docs: add ARB_ES2_compatibility in relnotes-7.11
Marek Olšák [Thu, 28 Apr 2011 18:01:02 +0000 (20:01 +0200)]
st/mesa: expose ARB_ES2_compatibility if GL_FIXED vertex format is supported
Tested with softpipe and llvmpipe.
Reviewed-by: Brian Paul <brianp@vmware.com>
Marek Olšák [Fri, 29 Apr 2011 12:23:15 +0000 (14:23 +0200)]
mesa: accept GL_FIXED in glVertexAttribPointer (ARB_ES2_compatibility)
GL_FIXED should not be accepted in the other gl*Pointer calls in OpenGL.
There is a new piglit for this: arb_es2_compatibility-fixed-type.
Reviewed-by: Brian Paul <brianp@vmware.com>
Brian Paul [Sat, 30 Apr 2011 00:42:09 +0000 (18:42 -0600)]
mesa: fix error string, remove out of date comment
Brian Paul [Sat, 30 Apr 2011 00:40:56 +0000 (18:40 -0600)]
mesa: remove commented-out #include
Thierry Vignaud [Fri, 29 Apr 2011 23:56:35 +0000 (17:56 -0600)]
mesa: fix tarball creation
Signed-off-by: Brian Paul <brianp@vmware.com>
Eric Anholt [Fri, 29 Apr 2011 22:11:11 +0000 (15:11 -0700)]
i965/gen6: Fix LogicOp handling for GL_COPY and/or floating-point RTs.
We were accidentally leaving blending enabled for LogicOp GL_COPY,
which ARB_color_buffer_float/GL_RGBA32F-render (and friends) caught.
Additionally, the GL spec says that no LogicOp should be done to
floating-point targets, and the GPU gets really angry even if you say
to LogicOp GL_COPY to float.
Eric Anholt [Mon, 25 Apr 2011 03:48:33 +0000 (20:48 -0700)]
i965: Remove dead entrypoints to state cache, rename the one that's left.
As we expanded the usage of the state cache, it grew extra
functionality. However, with the recent state streaming rework, we're
back to the state cache being used only for shader kernels, which is
the piece of GPU state that's actually expensive to compute again from
scratch, since it involves compiling.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Eric Anholt [Mon, 25 Apr 2011 03:36:22 +0000 (20:36 -0700)]
i965/gen4: Move the GS state to state streaming.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Eric Anholt [Mon, 25 Apr 2011 03:20:16 +0000 (20:20 -0700)]
i965/gen4: Move clip state to state streaming
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Eric Anholt [Mon, 25 Apr 2011 03:05:02 +0000 (20:05 -0700)]
i965: Drop the now unused brw_cache_data() function.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Eric Anholt [Mon, 25 Apr 2011 02:57:33 +0000 (19:57 -0700)]
i965: Fix up state dumping for SF state.
It was moved to state streaming a while back and this was left over.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Eric Anholt [Mon, 25 Apr 2011 02:47:37 +0000 (19:47 -0700)]
i965/gen4: Move VS state to state streaming.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Eric Anholt [Sun, 24 Apr 2011 20:44:32 +0000 (13:44 -0700)]
mesa: Add a bunch of documentation to the register allocator.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Eric Anholt [Fri, 22 Apr 2011 23:00:14 +0000 (16:00 -0700)]
i965/gen6: Use the dynamic state base address to reduce relocations.
Now that all the dynamic state is streamed through the top of the
batchbuffer, we can cut out many of our relocations to that state by
using the base address.
Improves 3DMMES taiji performance 3.3% +/- 0.4% (n=15).
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Eric Anholt [Mon, 25 Apr 2011 03:02:38 +0000 (20:02 -0700)]
i965/gen6: Move scissor state to state streaming.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Eric Anholt [Fri, 22 Apr 2011 22:30:42 +0000 (15:30 -0700)]
i965: Move sampler state to state streaming.
Overall, across this series since the last set of numbers, gen6 3DMMES
taiji performance has dropped 0.8% +/- 0.3% (n=15), probably due to
the increased reissuing of state from some of the state objects that
otherwise never changed, and increased occurrence of the per-batch
overhead as we've increased how much we put in the batch BO without
increasing the batch BO's size.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Eric Anholt [Sat, 23 Apr 2011 07:33:43 +0000 (00:33 -0700)]
i965/gen4: Move WM state to state streaming.
The samplers are about to become streamed for gen6 performance, which
would cause this unit to blow out the state cache.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Eric Anholt [Fri, 22 Apr 2011 21:26:12 +0000 (14:26 -0700)]
i965/gen6: Move the depth/stencil state to state streaming.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Eric Anholt [Fri, 22 Apr 2011 21:07:30 +0000 (14:07 -0700)]
i965/gen6: Move the blend state to state streaming.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Eric Anholt [Fri, 22 Apr 2011 20:54:10 +0000 (13:54 -0700)]
i965/gen6: Move the color calc state to state streaming.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Eric Anholt [Fri, 22 Apr 2011 20:44:00 +0000 (13:44 -0700)]
i965: Move the CC VP to state streaming.
This is in a way a revert of
f5bb775fd1f333d8e579d07a5cac1ded2bd54a2f.
The tiny win that had will be overwhelmed by the win of using the gen6
dynamic state base address.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Eric Anholt [Fri, 22 Apr 2011 20:25:24 +0000 (13:25 -0700)]
i965/gen6: Move the SF VP to state streaming.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Eric Anholt [Fri, 22 Apr 2011 20:20:08 +0000 (13:20 -0700)]
i965/gen6: Move the clip VP to state streaming.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Eric Anholt [Fri, 22 Apr 2011 16:55:25 +0000 (09:55 -0700)]
i965/gen6: Stream the VS push constants.
Improves 3DMMES taiji demo performance by 10.1% +/- 0.9% (n=15).
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Eric Anholt [Fri, 22 Apr 2011 02:03:18 +0000 (19:03 -0700)]
i965/gen6: Stream the WM push constants.
Improves 3DMMES taiji demo performance by 5.1% +/- 1.9% (n=15), by
reducing CPU time spent thrashing around those tiny little constant BOs.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Eric Anholt [Fri, 22 Apr 2011 01:33:22 +0000 (18:33 -0700)]
i965: Give the push constants and pull constants unique function names.
This helps clarify profiling results.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Eric Anholt [Fri, 29 Apr 2011 19:17:02 +0000 (12:17 -0700)]
i965: Fix fragcoord_w on gen6 with 16-wide.
The payload regs can go all the way up to register 60+, so just give
them 8 bits to be addressed by instead of 3-4 (which made source_w_reg
of 8 end up 0). There's no reason to aggressively pack these fields,
as they are just used as compiler information, where being easier to
access is probably more important than shaving a byte or two off of
the structure.
Fixes piglit fragcoord_w.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=36649
Eric Anholt [Tue, 26 Apr 2011 19:56:37 +0000 (12:56 -0700)]
meta: Don't ask for floating point textures if not ARB_texture_float.
I was promoting to float for ARB_color_buffer_float unclamped, which
failed when ARB_texture_float wasn't present. Since the metaops don't
need results outside of [0,1] when not drawing to a floating point
destination, they can just use a fixed point texture when floating
point destinations are impossible.
Fixes regression in fdo23670-depth_test when --enable-texture-float is
not present.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=36473
Brian Paul [Fri, 29 Apr 2011 18:03:28 +0000 (12:03 -0600)]
mesa: fix a few incorrect error messages
Benjamin Franzke [Fri, 29 Apr 2011 15:04:11 +0000 (17:04 +0200)]
egl/wayland: Fix possible lockup in drm initialization
Lockup happens when wl_drm interface is not available.
Jon TURNEY [Tue, 26 Apr 2011 12:11:23 +0000 (13:11 +0100)]
Add git_sha1.h to .gitignore
Since commit de579a1 "Include GIT SHA1 in GL version string"
$ git status
On branch master
Your branch is ahead of 'origin/master' by 2 commits.
Untracked files:
(use "git add <file>..." to include in what will be committed)
src/mesa/main/git_sha1.h
nothing added to commit but untracked files present (use "git add" to track)
Add git_sha1.h to .gitignore so git knows not to warn it is present but untracked
Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Reviewed-by: Marek Olšák <maraeo@gmail.com>
Marek Olšák [Fri, 29 Apr 2011 11:16:24 +0000 (13:16 +0200)]
r600g: print opcodes names instead of numbers
Marek Olšák [Thu, 28 Apr 2011 15:33:05 +0000 (17:33 +0200)]
docs: update relnotes-7.11
Marek Olšák [Thu, 28 Apr 2011 15:30:55 +0000 (17:30 +0200)]
docs: update GL3 status
Marek Olšák [Thu, 28 Apr 2011 17:34:56 +0000 (19:34 +0200)]
mesa: remove unused variable bytesPerRow
Marek Olšák [Wed, 27 Apr 2011 14:30:28 +0000 (16:30 +0200)]
r600g: implement EXT_packed_float
Marek Olšák [Tue, 26 Apr 2011 00:28:33 +0000 (02:28 +0200)]
st/mesa: support EXT_packed_float
Reviewed-by: Brian Paul <brianp@vmware.com>
Marek Olšák [Tue, 26 Apr 2011 00:27:25 +0000 (02:27 +0200)]
mesa: implement EXT_packed_float
Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Marek Olšák [Wed, 27 Apr 2011 11:37:27 +0000 (13:37 +0200)]
util: implement R11G11B10_FLOAT pack/unpack functions
Reviewed-by: Brian Paul <brianp@vmware.com>
Marek Olšák [Wed, 27 Apr 2011 10:52:10 +0000 (12:52 +0200)]
mesa, util: move RGB9E5 conversion functions to gallium/util
Also use MAX3 and incorporate Ian's suggestion in texformat.c.
I don't think wrapping u_format_rgb9e5.h in another header and thus making it
more complicated is worth it.
Marek Olšák [Tue, 26 Apr 2011 00:24:47 +0000 (02:24 +0200)]
r600g: trivially implement EXT_texture_shared_exponent
Nothing else needed.
Marek Olšák [Tue, 26 Apr 2011 00:29:00 +0000 (02:29 +0200)]
util: implement R9G9B9E5 pack and unpack functions
softpipe and llvmpipe support done (sampler only).
Reviewed-by: Brian Paul <brianp@vmware.com>
Marek Olšák [Tue, 26 Apr 2011 00:23:33 +0000 (02:23 +0200)]
st/mesa: support EXT_texture_shared_exponent
Reviewed-by: Brian Paul <brianp@vmware.com>
Marek Olšák [Tue, 26 Apr 2011 00:18:24 +0000 (02:18 +0200)]
mesa: implement EXT_texture_shared_exponent
swrast support done.
There is no renderbuffer support in swrast, because it's not required
by the extension.
Reviewed-by: Brian Paul <brianp@vmware.com>
Marek Olšák [Mon, 25 Apr 2011 23:53:20 +0000 (01:53 +0200)]
mesa: set reasonable defaults in update_wrapper
I was wondering why I had been getting GL_RGBA for GL_RGB9_E5.
Instead of setting GL_RGBA and CHAN_TYPE for most types,
use the helper functions to obtain the info.
Reviewed-by: Brian Paul <brianp@vmware.com>
Christopher Egert [Fri, 29 Apr 2011 00:13:35 +0000 (02:13 +0200)]
i915g: Enable S3TC texture support
Reviewed-by: Jakob Bornecrantz <wallbraker@gmail.com>
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Christopher Egert <cme3000@gmail.com>
Signed-off-by: Jakob Bornecrantz <wallbraker@gmail.com>
Kenneth Graunke [Tue, 26 Apr 2011 23:14:06 +0000 (16:14 -0700)]
prog_print: Add support for printing the TXD opcode.
Reviewed-by: Brian Paul <brianp@vmware.com>
Brian Paul [Thu, 28 Apr 2011 18:41:45 +0000 (12:41 -0600)]
llvmpipe: move active_query assignment
Fixes piglit regression.
Brian Paul [Thu, 28 Apr 2011 13:38:53 +0000 (07:38 -0600)]
llvmpipe: move active_query assignment in lp_setup_begin_query()
If we run out of bin memory and do an early return from
lp_setup_begin_query() we'd omit setting the setup->active_query
pointer. Then, when lp_setup_end_query() was later called, the
assertion for setup->active_query == pq would fail. Moving the
assigment in lp_setup_begin_query() avoids that.
Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
José Fonseca [Wed, 27 Apr 2011 18:05:29 +0000 (19:05 +0100)]
sgi: Fix MSVC build.
Including windows.h was ineffective on MSVC because we define the NOGDI macro,
which skips the wingdi.h include.
Unsetting NOGDI is also a bad idea because it causes all sort of symbol
clashes with SGI code.
The real problem is that WINGDAPI was not being defined, also due to NOGDI,
so simply define it to blank if not done already. This seems to make
everybody happy.
Brian Paul [Wed, 27 Apr 2011 15:31:30 +0000 (09:31 -0600)]
st/mesa: raise shader MaxParameters if driver supports more
The default value is 64 but drivers usually advertise more, like 4096.
Allows ARB vp/fp programs to use more parameters.
Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
Brian Paul [Wed, 27 Apr 2011 15:23:16 +0000 (09:23 -0600)]
mesa: emit more info in program parser error message
Brian Paul [Mon, 25 Apr 2011 16:26:19 +0000 (10:26 -0600)]
svga: emit user-defined clip plane state
User-defined clip planes were a swtnl fallback before.
Eric Anholt [Tue, 26 Apr 2011 22:14:01 +0000 (15:14 -0700)]
docs: Note that ES2_compatibility is already done.
Eric Anholt [Mon, 25 Apr 2011 17:36:29 +0000 (10:36 -0700)]
Revert "intel: use throttle ioctl for throttling"
This reverts commit
50ade6ea697953bb17e3ca7210515fbd0411cd1e.
Fixes jerky rendering again on apps that don't block on the GPU per
frame and are GPU bound (e.g. 3DMMES on Ironlake). The whole point of
this complicated throttle scheme is to wait on frame n-1 to have
started rendering before starting frame n's rendering. Otherwise, the
GPU-bound app will race ahead and call the GL to draw many
nearly-identical frames, then >0ms later get stuck waiting for them
(all dispatched at about the same time) to retire, then render a new
batch of nearly-identical frames.
Brian Paul [Wed, 27 Apr 2011 15:06:07 +0000 (09:06 -0600)]
st/mesa: choose 3-component float formats before 4-component formats
If GL_RGB16F or GL_RGB32F is specified let's try the 3-component float
texture formats before trying the 4-component ones. Before this,
GL_RGB16/32F were treated the same as GL_RGBA16/32F.
Reviewed-by: Marek Olšák <maraeo@gmail.com>
Brian Paul [Wed, 27 Apr 2011 15:05:30 +0000 (09:05 -0600)]
st/mesa: whitespace fixes
Marek Olšák [Wed, 27 Apr 2011 10:54:24 +0000 (12:54 +0200)]
util: make macros MIN3, MAX3, MIN4, MAX4 little more efficient
Marek Olšák [Wed, 27 Apr 2011 10:53:58 +0000 (12:53 +0200)]
mesa: add macros MIN3 and MAX3
Marek Olšák [Wed, 27 Apr 2011 11:08:25 +0000 (13:08 +0200)]
gallium/nouveau: fix printf warnings
Marek Olšák [Wed, 27 Apr 2011 11:05:53 +0000 (13:05 +0200)]
gallivm: fix warning: ‘value’ may be used uninitialized in this function
The path where it's uninitialized is guarded by an assert.
Marek Olšák [Wed, 27 Apr 2011 11:04:21 +0000 (13:04 +0200)]
st/mesa: fix warning: ‘user_memory’ may be used uninitialized in this function
It's initialized later in a conditional the condition of which is always true
the first time it's evaluated.
Marek Olšák [Wed, 27 Apr 2011 11:02:32 +0000 (13:02 +0200)]
svga: fix warning: ‘uc.ui’ may be used uninitialized in this function
This is safe because it's initialized if buffers & PIPE_CLEAR_COLOR and
probably doesn't have any effect otherwise.
nobled [Sun, 18 Jul 2010 16:08:19 +0000 (16:08 +0000)]
os: simplify ifdef
The actual code that needs this include is just using
"if defined (PIPE_OS_UNIX)", and the two conditions should match.
This should also make the file compile under Hurd.
Brian Paul [Tue, 26 Apr 2011 20:58:33 +0000 (14:58 -0600)]
docs: fix typo, wrap lines in 7.11 release notes
Brian Paul [Tue, 26 Apr 2011 20:57:57 +0000 (14:57 -0600)]
docs: add GL_ARB_robustness to 7.11 release notes
Brian Paul [Tue, 26 Apr 2011 20:54:41 +0000 (14:54 -0600)]
Squashed commit of the following:
commit
864fe253b04105b7469e5f7b064dc37637b944f8
Author: Brian Paul <brianp@vmware.com>
Date: Thu Apr 21 20:13:07 2011 -0600
mesa: s/exec/disp/ in _mesa_init_histogram_dispatch()
This function isn't normally compiled (FEATURE_histogram).
commit
f4bf45e2b94b582cacd19cdca873c5be627e4250
Author: nobled <nobled@dreamwidth.org>
Date: Thu Apr 21 07:53:58 2011 -0600
mesa: hook up GL_ARB_robustness dispatch functions
...and advertise the extension.
Signed-off-by: Brian Paul <brianp@vmware.com>
commit
2b89e38e5f572dc40cebc06381ae7c5d04386998
Author: nobled <nobled@dreamwidth.org>
Date: Thu Apr 21 07:53:58 2011 -0600
mesa: regenerated API files for GL_ARB_robustness
Signed-off-by: Brian Paul <brianp@vmware.com>
commit
5d5ebfb7135cec9d833adef86cbf4d0f3d9beca8
Author: nobled <nobled@dreamwidth.org>
Date: Thu Apr 21 07:53:57 2011 -0600
glapi: add ARB_robustness xml
Signed-off-by: Brian Paul <brianp@vmware.com>
commit
0159d1d6d99f4bbc18381dc2081c20d3aff17ac9
Author: nobled <nobled@dreamwidth.org>
Date: Thu Apr 21 07:53:57 2011 -0600
mesa: implement GL_ARB_robustness functions
Signed-off-by: Brian Paul <brianp@vmware.com>
commit
938fd71f4c4742f274922d53492a7290ab8d9c9b
Author: nobled <nobled@dreamwidth.org>
Date: Thu Apr 21 07:53:57 2011 -0600
mesa: add context fields for GL_ARB_robustness
Signed-off-by: Brian Paul <brianp@vmware.com>
commit
72075137bc79e65be03dac7e97b6dba93c3a86a4
Author: nobled <nobled@dreamwidth.org>
Date: Thu Apr 21 07:53:57 2011 -0600
mesa: standardize more bounds-checking error messages
Signed-off-by: Brian Paul <brianp@vmware.com>
commit
32a3fc23746db49da903fbc08afa0135af3007d2
Author: nobled <nobled@dreamwidth.org>
Date: Thu Apr 21 07:53:57 2011 -0600
mesa: standardize some bounds-checking error messages
Signed-off-by: Brian Paul <brianp@vmware.com>
commit
cecbf1f4d164207de373dec0cadee2e84e1f9656
Author: nobled <nobled@dreamwidth.org>
Date: Thu Apr 21 07:53:57 2011 -0600
mesa: add more bounds-checking support for client memory buffers
Signed-off-by: Brian Paul <brianp@vmware.com>
commit
edc895b52383d5bd274422db56adead1d81daf5f
Author: nobled <nobled@dreamwidth.org>
Date: Thu Apr 21 07:53:57 2011 -0600
mesa: add bounds-checking support for client memory buffers
Signed-off-by: Brian Paul <brianp@vmware.com>
commit
3a96ef28a538f158a219b406cd090dee70470c85
Author: nobled <nobled@dreamwidth.org>
Date: Thu Apr 21 07:53:57 2011 -0600
mesa: use is_bufferobj() helper function
Signed-off-by: Brian Paul <brianp@vmware.com>
Eric Anholt [Mon, 28 Mar 2011 23:54:39 +0000 (16:54 -0700)]
i965/fs: Add support for compute-to-mrf in 16-wide mode.
This is more painful than instruction scheduling, as we have to
compare two MRF writes to see if they coincide, and have to handle
partial GRF writes before that (for example, the result of a math
instruction written to color).
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Eric Anholt [Mon, 28 Mar 2011 23:55:14 +0000 (16:55 -0700)]
i965/fs: Typo fix a comment.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Eric Anholt [Fri, 25 Mar 2011 18:19:53 +0000 (11:19 -0700)]
i965/fs: Enable constant propagation in 16-wide.
All that needed fixing was skipping the newly-possible
uncompressed/sechalf partial GRF constant writes.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Eric Anholt [Wed, 23 Mar 2011 20:53:26 +0000 (13:53 -0700)]
i965/fs: Fix and enable the instruction scheduler for 16-wide.
Most of the work of the scheduler is agnostic to wide dispatch. It
operates on our virtual GRF file, which means instructions are
generally referring to 8 or 16 wide naturally. For the MRF file
management we're trying to track the actual hardware MRF file, so we
need to watch if an instruction writes multiple MRFs.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Eric Anholt [Wed, 23 Mar 2011 19:50:53 +0000 (12:50 -0700)]
i965/fs: Add support for 16-wide dispatch with uniforms in use.
This is glued in in a bit of an ugly way -- we rely on the uniforms
having been set up by 8-wide dispatch, and we just reuse them without
the ability to add new uniforms for any reason, since the 8-wide
compile is already completed. Today, this all works out because our
optimization passes are effectively the same for both and even if they
weren't, we don't reduce the set of uniforms pushed after
optimization.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Eric Anholt [Wed, 23 Mar 2011 19:05:56 +0000 (12:05 -0700)]
hash_table: Add an iterator for doing things like cleanup of the HT.
Without this, consumers often have to keep linked lists of the
entries, at additional malloc cost.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Eric Anholt [Wed, 23 Mar 2011 19:36:52 +0000 (12:36 -0700)]
i965/fs: Add a little whitespace between shader dumping debug.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Eric Anholt [Mon, 28 Mar 2011 18:29:55 +0000 (11:29 -0700)]
i965/fs: Add support for compr4 MRF writes.
These reduce an emitted (not decoded) instruction per shader on
g4x/gen5, but may allow for additional register coalescing as well.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Eric Anholt [Mon, 14 Mar 2011 17:29:12 +0000 (10:29 -0700)]
i965/fs: Add support for 16-wide dispatch on gen5.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Eric Anholt [Sat, 12 Mar 2011 03:19:01 +0000 (19:19 -0800)]
i965/fs: Add initial support for 16-wide dispatch on gen6.
At this point it doesn't do uniforms, which have to be laid out the
same between 8 and 16. Other than that, it supports everything but
flow control, which was the thing that forced us to choose 8-wide for
general GLSL support.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Eric Anholt [Thu, 24 Mar 2011 16:15:55 +0000 (09:15 -0700)]
i965/fs: Add support for discard instructions in 16-wide mode.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Eric Anholt [Tue, 29 Mar 2011 01:03:37 +0000 (18:03 -0700)]
i965/fs: Add support for math instructions in 16-wide mode.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Eric Anholt [Thu, 24 Mar 2011 16:08:58 +0000 (09:08 -0700)]
i965/fs: Fix interference calculation of pixel_[xy] in 16-wide.
Fixes glsl-fs-ceil in that mode, which produced the code in the comment.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Eric Anholt [Wed, 23 Mar 2011 21:00:01 +0000 (14:00 -0700)]
i965/fs: Disable some optimization passes under 16-wide for now.
These are fixable for 16, but that can wait until after it's basically
working.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Eric Anholt [Sun, 13 Mar 2011 20:27:59 +0000 (13:27 -0700)]
i965/fs: Add support for 16-wide texturing on gen5+.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Eric Anholt [Mon, 21 Mar 2011 22:54:18 +0000 (15:54 -0700)]
i965/fs: Add support for computing pixel_[xy] in 16-wide.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Eric Anholt [Sun, 13 Mar 2011 20:26:09 +0000 (13:26 -0700)]
i965/fs: Add support for 16-wide dispatch to the register allocator.
Note that the virtual grfs are in increments of the dispatch_width,
not hardware registers -- this makes the 16-wide emit and 8-wide emit
mostly the same.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Eric Anholt [Mon, 14 Mar 2011 17:51:19 +0000 (10:51 -0700)]
i965: Move the destination reg setup for 8/16 wide to the emit code.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Kristian Høgsberg [Mon, 25 Apr 2011 13:53:22 +0000 (09:53 -0400)]
intel: Use tiling for dri2AllocateBuffer implementation
Kristian Høgsberg [Mon, 25 Apr 2011 13:49:09 +0000 (09:49 -0400)]
intel: Set gen in intelInitScreen, just copy value in intelInitContext
Kristian Høgsberg [Sat, 23 Apr 2011 01:05:40 +0000 (21:05 -0400)]
intel: Use X tiling for DRM EGL Images
Ian Romanick [Fri, 22 Apr 2011 00:36:17 +0000 (17:36 -0700)]
mesa: Remove SWcontext::_FogMode, use gl_context::gl_fog_attrib::Mode everywhere
Reviewed-by: Brian Paul <brianp@vmware.com>
Kristian Høgsberg [Mon, 25 Apr 2011 19:34:04 +0000 (15:34 -0400)]
egl: Use the right extension name in #ifdef
Kristian Høgsberg [Mon, 25 Apr 2011 19:06:41 +0000 (15:06 -0400)]
wayland: Fix prototypes for EGL_WL_bind_wayland_display extension