mesa.git
15 years agoi915g: Reorg texture layout code
Jakob Bornecrantz [Sun, 30 Aug 2009 19:25:17 +0000 (20:25 +0100)]
i915g: Reorg texture layout code

15 years agoi915g: Move transfer functions into i915_texture.c
Jakob Bornecrantz [Sun, 30 Aug 2009 18:31:14 +0000 (19:31 +0100)]
i915g: Move transfer functions into i915_texture.c

15 years agoi915g: Reorg texture code a bit
Jakob Bornecrantz [Sun, 30 Aug 2009 18:20:45 +0000 (19:20 +0100)]
i915g: Reorg texture code a bit

15 years agoi915g: Don't use winsys directly in the driver
Jakob Bornecrantz [Sun, 30 Aug 2009 16:45:47 +0000 (17:45 +0100)]
i915g: Don't use winsys directly in the driver

15 years agoi915g: Cleanup i915_prim_vbuf.c
Jakob Bornecrantz [Sun, 30 Aug 2009 23:36:24 +0000 (00:36 +0100)]
i915g: Cleanup i915_prim_vbuf.c

15 years agoi915g: Cleanup i915_screen.[c|h]
Jakob Bornecrantz [Sun, 30 Aug 2009 20:10:36 +0000 (21:10 +0100)]
i915g: Cleanup i915_screen.[c|h]

15 years agoi915g: Cleanup i915_context.c
Jakob Bornecrantz [Sun, 30 Aug 2009 20:03:43 +0000 (21:03 +0100)]
i915g: Cleanup i915_context.c

15 years agoi915g: Cleanup i915_blit.[c|h]
Jakob Bornecrantz [Sun, 30 Aug 2009 19:41:00 +0000 (20:41 +0100)]
i915g: Cleanup i915_blit.[c|h]

15 years agoi915g: Cleanup i915_state_emit.c
Jakob Bornecrantz [Sun, 30 Aug 2009 14:42:10 +0000 (15:42 +0100)]
i915g: Cleanup i915_state_emit.c

15 years agoi915g: Cleanup i915_texture.c
Jakob Bornecrantz [Sun, 30 Aug 2009 12:57:37 +0000 (13:57 +0100)]
i915g: Cleanup i915_texture.c

15 years agoi915g: Cleanup texture init functions a bit
Jakob Bornecrantz [Sat, 29 Aug 2009 21:02:49 +0000 (22:02 +0100)]
i915g: Cleanup texture init functions a bit

15 years agoi915g: Rename pipe field on context to base
Jakob Bornecrantz [Sat, 29 Aug 2009 10:46:46 +0000 (11:46 +0100)]
i915g: Rename pipe field on context to base

15 years agoi915g: Rename screen field on screen to base
Jakob Bornecrantz [Sat, 29 Aug 2009 10:32:32 +0000 (11:32 +0100)]
i915g: Rename screen field on screen to base

15 years agomesa: set additional fields in _mesa_buffer_map_range()
Brian Paul [Mon, 31 Aug 2009 15:12:04 +0000 (09:12 -0600)]
mesa: set additional fields in _mesa_buffer_map_range()

15 years agomesa: set Length/Offset fields in _mesa_buffer_map()
Brian Paul [Mon, 31 Aug 2009 15:05:28 +0000 (09:05 -0600)]
mesa: set Length/Offset fields in _mesa_buffer_map()

15 years agomesa: additional assertions for ctx->Driver.UnmapBuffer()
Brian Paul [Mon, 31 Aug 2009 14:59:38 +0000 (08:59 -0600)]
mesa: additional assertions for ctx->Driver.UnmapBuffer()

The Pointer, Offset and Lenght fields should be cleared by the driver function
since ctx->Driver.Unmap() may be called from VBO code, etc.

15 years agointel: clear buffer fields in intel_bufferobj_unmap()
Brian Paul [Mon, 31 Aug 2009 15:01:21 +0000 (09:01 -0600)]
intel: clear buffer fields in intel_bufferobj_unmap()

15 years agomesa: new assertions, comments about buffer mapping
Brian Paul [Mon, 31 Aug 2009 14:50:15 +0000 (08:50 -0600)]
mesa: new assertions, comments about buffer mapping

Since ctx->Driver.MapBuffer() and ctx->Driver.MapBufferRange() may be called
from other places in Mesa (such as VBO) it's important that the driver
callbacks set all the buffer object fields properly (Pointer, Offset, Length,
etc).  Add assertions to make sure that the driver does that.

15 years agost/mesa: fix obj->Pointer offset in st_bufferobj_map_range()
Brian Paul [Mon, 31 Aug 2009 14:49:22 +0000 (08:49 -0600)]
st/mesa: fix obj->Pointer offset in st_bufferobj_map_range()

This fixes a bunch of gallium regressions since
commit 8096aa521369c3bcf5226c060efa6dd06e48ddc8

15 years agollvmpipe: Fallback to element-wise comparisons when no comparison intrinsic is available.
José Fonseca [Mon, 31 Aug 2009 09:22:36 +0000 (10:22 +0100)]
llvmpipe: Fallback to element-wise comparisons when no comparison intrinsic is available.

Although selection of vector elements is valid LLVM IR, no machine target
supports it yet.

This is a last-resort option, but it allows llvmpipe to be used on any
target supported by LLVM without modifications. Obviously better
performance is attainable by emitting SIMD intrinsics where otherwise
LLVM doesn't.

15 years agollvmpipe: In the abcense of a min/max intrinsic, use the comparison intrinsics.
José Fonseca [Mon, 31 Aug 2009 09:00:38 +0000 (10:00 +0100)]
llvmpipe: In the abcense of a min/max intrinsic, use the comparison intrinsics.

15 years agollvmpipe: Actually commit lp_buffer.[ch].
José Fonseca [Mon, 31 Aug 2009 08:33:41 +0000 (09:33 +0100)]
llvmpipe: Actually commit lp_buffer.[ch].

Thanks Michel.

15 years agoGallium xlib: Add support for BGRA visuals.
Michel Dänzer [Mon, 31 Aug 2009 08:22:19 +0000 (10:22 +0200)]
Gallium xlib: Add support for BGRA visuals.

15 years agonouveau: fix for dri state tracker changes
Ben Skeggs [Mon, 31 Aug 2009 03:14:23 +0000 (13:14 +1000)]
nouveau: fix for dri state tracker changes

15 years agonouveau: introduce nouveau_miptree common to all nouveau pipe drivers
Ben Skeggs [Mon, 31 Aug 2009 03:00:34 +0000 (13:00 +1000)]
nouveau: introduce nouveau_miptree common to all nouveau pipe drivers

The winsys once again has to know about textures it seems, so we need a
common representation between all our pipe drivers to store some
information the winsys will need.

Only the nv50 driver has been fixed so far.

15 years agonouveau: hack winsys to compile again, it's broken still however
Ben Skeggs [Mon, 31 Aug 2009 02:55:56 +0000 (12:55 +1000)]
nouveau: hack winsys to compile again, it's broken still however

15 years agocell: fix compilation
Marc Dietrich [Sun, 30 Aug 2009 15:24:27 +0000 (09:24 -0600)]
cell: fix compilation

15 years agoswrast: minor code consolidation
Brian Paul [Sun, 30 Aug 2009 15:21:20 +0000 (09:21 -0600)]
swrast: minor code consolidation

15 years agomesa: consolidate texture-related code in meta.c
Brian Paul [Sun, 30 Aug 2009 15:15:24 +0000 (09:15 -0600)]
mesa: consolidate texture-related code in meta.c

Also, allow using texture rectangles, NPOT textures or regular POT textures
(preferred in that order).

15 years agoprogs/util: minor updates to glutskel.c
Brian Paul [Fri, 28 Aug 2009 14:55:20 +0000 (08:55 -0600)]
progs/util: minor updates to glutskel.c

15 years agointel: use more efficient loop over buffers
Brian Paul [Thu, 27 Aug 2009 20:34:21 +0000 (14:34 -0600)]
intel: use more efficient loop over buffers

15 years agomesa: avoid redundant viewport changes in meta code
Brian Paul [Thu, 27 Aug 2009 20:47:24 +0000 (14:47 -0600)]
mesa: avoid redundant viewport changes in meta code

15 years agollvmpipe: Texture cache in 4 ubytes instead of 4 floats.
José Fonseca [Sun, 30 Aug 2009 11:36:03 +0000 (12:36 +0100)]
llvmpipe: Texture cache in 4 ubytes instead of 4 floats.

This is more a short term experiment than a long term commitment, as we'll
need to support higher precision textures too, as this will all be
be replaced by runtime generated code.

With this change most Mesa demos fps increased around 10%. Not a huge
improvement, but not a negligible one either.

15 years agollvmpipe: Use util_format_read_4f to read texture tiles.
José Fonseca [Sun, 30 Aug 2009 11:10:24 +0000 (12:10 +0100)]
llvmpipe: Use util_format_read_4f to read texture tiles.

15 years agollvmpipe: Texture cache is read-only. No need to flush.
José Fonseca [Sun, 30 Aug 2009 11:03:49 +0000 (12:03 +0100)]
llvmpipe: Texture cache is read-only. No need to flush.

15 years agoutil: Auto generate pixel format accessor functions from
José Fonseca [Sun, 30 Aug 2009 11:02:36 +0000 (12:02 +0100)]
util: Auto generate pixel format accessor functions from

This has several advantages over the u_
 - not hand written
 - no intermediate memcpy of raw pixels
 - supports 4 ubytes in addition to floats
 - no need to pass a pipe_transfer

It also has (hopefully temporary) limitations:
 - no support for YUV
 - no support for SRGB

15 years agollvmpipe: Eliminate internal pipe_buffer_map/unmap usage.
José Fonseca [Sat, 29 Aug 2009 19:34:01 +0000 (20:34 +0100)]
llvmpipe: Eliminate internal pipe_buffer_map/unmap usage.

15 years agoxlib: Implement lp_winsys::destroy.
José Fonseca [Sat, 29 Aug 2009 19:33:28 +0000 (20:33 +0100)]
xlib: Implement lp_winsys::destroy.

15 years agoMerge branch 'mesa_7_5_branch'
Michel Dänzer [Sun, 30 Aug 2009 11:06:18 +0000 (13:06 +0200)]
Merge branch 'mesa_7_5_branch'

Conflicts:
src/glx/x11/glxcmds.c

15 years agoglx/x11: Fix glXCreateGLXPixmap for direct rendering.
Michel Dänzer [Sun, 30 Aug 2009 10:43:37 +0000 (12:43 +0200)]
glx/x11: Fix glXCreateGLXPixmap for direct rendering.

Fixes progs/xdemos/glxpixmap modified to use direct rendering.

15 years agoi965: Fix segfault with ARB_oq CheckQuery when results are already fetched.
Eric Anholt [Sat, 29 Aug 2009 20:23:58 +0000 (13:23 -0700)]
i965: Fix segfault with ARB_oq CheckQuery when results are already fetched.

15 years agoi965: Support PROGRAM_ENV_PARAMs in brw_vs_emit.c
Eric Anholt [Sat, 29 Aug 2009 20:21:07 +0000 (13:21 -0700)]
i965: Support PROGRAM_ENV_PARAMs in brw_vs_emit.c

15 years agollvmpipe: List lp_buffer.c in the Makefile.
José Fonseca [Sat, 29 Aug 2009 19:07:53 +0000 (20:07 +0100)]
llvmpipe: List lp_buffer.c in the Makefile.

15 years agoxlib: Implement llvmpipe lp_winsys interface.
José Fonseca [Sat, 29 Aug 2009 19:02:47 +0000 (20:02 +0100)]
xlib: Implement llvmpipe lp_winsys interface.

15 years agollvmpipe: Define an winsys for LLVM. Drop pipe_winsys
José Fonseca [Sat, 29 Aug 2009 19:02:25 +0000 (20:02 +0100)]
llvmpipe: Define an winsys for LLVM. Drop pipe_winsys

lp_winsys will eventually be unified with softpipe's eventually, but we
are free to move quicker since we don't have the myriad of users yet.

Will provide a pipe_winsys adaptor from Keith's softpipe-private-winsys
soon.

15 years agor300: Disable threshold register for KMS.
Pauli Nieminen [Sat, 29 Aug 2009 18:04:40 +0000 (21:04 +0300)]
r300: Disable threshold register for KMS.

Kernel side doesn't have required register in safe list so can't send it kernel.

15 years agor300: Swtcl prediction was still missing scissors.
Pauli Nieminen [Sat, 29 Aug 2009 18:00:21 +0000 (21:00 +0300)]
r300: Swtcl prediction was still missing scissors.

All that state stuff should really be in state atoms :/

15 years agor300: Add missing pre_emit_count to swtcl state size prediction.
Pauli Nieminen [Sat, 29 Aug 2009 15:38:30 +0000 (18:38 +0300)]
r300: Add missing pre_emit_count to swtcl state size prediction.

15 years agonv50: set provoking vertex state
Christoph Bumiller [Sat, 29 Aug 2009 15:22:12 +0000 (17:22 +0200)]
nv50: set provoking vertex state

15 years agoxlib: Update llvmpipe integration for changes in master.
José Fonseca [Sat, 29 Aug 2009 08:18:19 +0000 (09:18 +0100)]
xlib: Update llvmpipe integration for changes in 

15 years agollvmpipe: Update for changes in master.
José Fonseca [Sat, 29 Aug 2009 08:17:51 +0000 (09:17 +0100)]
llvmpipe: Update for changes in master.

15 years agomesa: Update sconscript for new ARB/FP assembler.
José Fonseca [Sat, 29 Aug 2009 08:16:02 +0000 (09:16 +0100)]
mesa: Update sconscript for new ARB/FP assembler.

15 years agoutil: Add util_unsigned_logbase2.
José Fonseca [Sat, 29 Aug 2009 08:15:10 +0000 (09:15 +0100)]
util: Add util_unsigned_logbase2.

Cherry picked from Keith's commit f911c3b9897b90132c8621a72bfeb824eb3b01e5.

15 years agollvmpipe: Isolate sampling from TGSI translation.
José Fonseca [Tue, 25 Aug 2009 07:05:31 +0000 (08:05 +0100)]
llvmpipe: Isolate sampling from TGSI translation.

15 years agollvmpipe: Better structure dereference naming.
José Fonseca [Tue, 25 Aug 2009 05:40:22 +0000 (06:40 +0100)]
llvmpipe: Better structure dereference naming.

15 years agollvmpipe: Fix shader variant key construction.
José Fonseca [Mon, 24 Aug 2009 14:55:15 +0000 (15:55 +0100)]
llvmpipe: Fix shader variant key construction.

Fixes the blank screen on non-64bit mode.

15 years agollvmpipe: Fix build.
José Fonseca [Mon, 24 Aug 2009 13:56:51 +0000 (14:56 +0100)]
llvmpipe: Fix build.

15 years agollvmpipe: Merge all pixel format related files.
José Fonseca [Sun, 23 Aug 2009 13:25:31 +0000 (14:25 +0100)]
llvmpipe: Merge all pixel format related files.

15 years agollvmpipe: Factor out and optimize the input interpolation.
José Fonseca [Sun, 23 Aug 2009 11:28:34 +0000 (12:28 +0100)]
llvmpipe: Factor out and optimize the input interpolation.

Special attention is given to the interpolation of side by side quads.
Multiplications are made only for the first quad. Interpolation of
inputs for posterior quads are done exclusively with additions, and
perspective divide if necessary.

15 years agollvmpipe: Pre-declare fetch_texel.
José Fonseca [Sun, 23 Aug 2009 06:55:29 +0000 (07:55 +0100)]
llvmpipe: Pre-declare fetch_texel.

15 years agollvmpipe: Pass the alpha ref value and blend color in the jit context.
José Fonseca [Sun, 23 Aug 2009 06:38:41 +0000 (07:38 +0100)]
llvmpipe: Pass the alpha ref value and blend color in the jit context.

15 years agollvmpipe: Pass fragment context to generated function in a single structure.
José Fonseca [Sun, 23 Aug 2009 05:35:09 +0000 (06:35 +0100)]
llvmpipe: Pass fragment context to generated function in a single structure.

15 years agollvmpipe: Structure manipulation helpers.
José Fonseca [Sun, 23 Aug 2009 05:18:28 +0000 (06:18 +0100)]
llvmpipe: Structure manipulation helpers.

15 years agollvmpipe: Centralize the C <-> JIT interfaces in one place.
José Fonseca [Sun, 23 Aug 2009 04:52:20 +0000 (05:52 +0100)]
llvmpipe: Centralize the C <-> JIT interfaces in one place.

15 years agollvmpipe: Drop blend derived state.
José Fonseca [Sat, 22 Aug 2009 22:30:28 +0000 (23:30 +0100)]
llvmpipe: Drop blend derived state.

Already included in the fragment shader.

15 years agollvmpipe: keep texture stride 16byte aligned
Keith Whitwell [Sun, 23 Aug 2009 11:07:36 +0000 (12:07 +0100)]
llvmpipe: keep texture stride 16byte aligned

Fixes crash when resizing gears window.

15 years agollvmpipe: Squash the quad pipeline.
José Fonseca [Sat, 22 Aug 2009 22:01:58 +0000 (23:01 +0100)]
llvmpipe: Squash the quad pipeline.

It had been reduced to one fixed stage.

15 years agollvmpipe: s/uni/scalar/.
José Fonseca [Sat, 22 Aug 2009 21:30:03 +0000 (22:30 +0100)]
llvmpipe: s/uni/scalar/.

More obvious name.

15 years agollvmpipe: Add a bunch of comments.
José Fonseca [Sat, 22 Aug 2009 21:26:55 +0000 (22:26 +0100)]
llvmpipe: Add a bunch of comments.

Description/rationale/to-do items, while I still remember them...

15 years agollvmpipe: Split off vs stuff from lp_state_fs.c.
José Fonseca [Sat, 22 Aug 2009 18:07:56 +0000 (19:07 +0100)]
llvmpipe: Split off vs stuff from lp_state_fs.c.

lp_state_fs.c is already too big without it.

15 years agollvmpipe: Avoid duplicate clamping when converting between types.
José Fonseca [Sat, 22 Aug 2009 15:04:21 +0000 (16:04 +0100)]
llvmpipe: Avoid duplicate clamping when converting between types.

15 years agollvmpipe: Generate the fragment pipeline into a single function.
José Fonseca [Sat, 22 Aug 2009 11:39:44 +0000 (12:39 +0100)]
llvmpipe: Generate the fragment pipeline into a single function.

Still hackish. Will document and optimize later.

15 years agollvmpipe: Get conversions working correctly for all integer types.
José Fonseca [Sat, 22 Aug 2009 11:37:12 +0000 (12:37 +0100)]
llvmpipe: Get conversions working correctly for all integer types.

15 years agollvmpipe: Delete the quad polygon stipple stage.
José Fonseca [Fri, 21 Aug 2009 18:11:50 +0000 (19:11 +0100)]
llvmpipe: Delete the quad polygon stipple stage.

Not used now -- stipple done by the draw module. May code generate later.

15 years agollvmpipe: Early depth testing.
José Fonseca [Fri, 21 Aug 2009 12:49:10 +0000 (13:49 +0100)]
llvmpipe: Early depth testing.

15 years agollvmpipe: Disassemble beyond referred code beyond the RET instruction.
José Fonseca [Fri, 21 Aug 2009 12:42:19 +0000 (13:42 +0100)]
llvmpipe: Disassemble beyond referred code beyond the RET instruction.

15 years agollvmpipe: Split control flow function declarations and notes.
José Fonseca [Fri, 21 Aug 2009 09:57:48 +0000 (10:57 +0100)]
llvmpipe: Split control flow function declarations and notes.

15 years agollvmpipe: Back port recent softpipe-opt improvements from Keith.
José Fonseca [Fri, 21 Aug 2009 09:27:46 +0000 (10:27 +0100)]
llvmpipe: Back port recent softpipe-opt improvements from Keith.

15 years agollvmpipe: Don't limit the number of tiles in the cache.
José Fonseca [Fri, 21 Aug 2009 08:51:44 +0000 (09:51 +0100)]
llvmpipe: Don't limit the number of tiles in the cache.

15 years agollvmpipe: Clean dead tile cache code.
José Fonseca [Fri, 21 Aug 2009 08:00:47 +0000 (09:00 +0100)]
llvmpipe: Clean dead tile cache code.

15 years agollvmpipe: Simplify tile clears. Use pipe_fill_rect instead of scratch tile.
José Fonseca [Fri, 21 Aug 2009 07:55:50 +0000 (08:55 +0100)]
llvmpipe: Simplify tile clears. Use pipe_fill_rect instead of scratch tile.

15 years agollvmpipe: Start hiding llvmpipe_cached_tile.
José Fonseca [Fri, 21 Aug 2009 07:19:00 +0000 (08:19 +0100)]
llvmpipe: Start hiding llvmpipe_cached_tile.

15 years agollvmpipe: Drop depth/stencil support from tile cache.
José Fonseca [Fri, 21 Aug 2009 06:58:56 +0000 (07:58 +0100)]
llvmpipe: Drop depth/stencil support from tile cache.

15 years agollvmpipe: Code generate the depth test, and include in the shader.
José Fonseca [Fri, 21 Aug 2009 06:48:04 +0000 (07:48 +0100)]
llvmpipe: Code generate the depth test, and include in the shader.

Only 32bit depth/stencil surfaces supported for now. Stencil ops not
implemented yet.

15 years agollvmpipe: Update texture block from format.
José Fonseca [Fri, 21 Aug 2009 06:45:32 +0000 (07:45 +0100)]
llvmpipe: Update texture block from format.

15 years agollvmpipe: Depth test to LLVM IR translation.
José Fonseca [Fri, 21 Aug 2009 06:43:49 +0000 (07:43 +0100)]
llvmpipe: Depth test to LLVM IR translation.

15 years agollvmpipe: Centralize mask update logic.
José Fonseca [Fri, 21 Aug 2009 06:42:29 +0000 (07:42 +0100)]
llvmpipe: Centralize mask update logic.

15 years agollvmpipe: Clamped float to unsigned norm via mantissa manipulation.
José Fonseca [Fri, 21 Aug 2009 06:35:49 +0000 (07:35 +0100)]
llvmpipe: Clamped float to unsigned norm via mantissa manipulation.

15 years agollvmpipe: Several fixes of the conversion test.
José Fonseca [Fri, 21 Aug 2009 06:34:15 +0000 (07:34 +0100)]
llvmpipe: Several fixes of the conversion test.

15 years agollvmpipe: Generate instrinsics for integer comparisons.
José Fonseca [Thu, 20 Aug 2009 19:17:55 +0000 (20:17 +0100)]
llvmpipe: Generate instrinsics for integer comparisons.

It is a little messy, given the available instrucions form SIMD
integer comparisons is rather limited.

15 years agollvmpipe: Mention the ability to get microbenchmarks from the unit tests.
José Fonseca [Thu, 20 Aug 2009 09:21:49 +0000 (10:21 +0100)]
llvmpipe: Mention the ability to get microbenchmarks from the unit tests.

Even better would be to have a -h/--help option to the tests...

15 years agollvmpipe: Code generate alpha testing and append to generated fragment shader.
José Fonseca [Wed, 19 Aug 2009 19:42:50 +0000 (20:42 +0100)]
llvmpipe: Code generate alpha testing and append to generated fragment shader.

15 years agoutil: Dump PIPE_FUNC_x value names.
José Fonseca [Wed, 19 Aug 2009 19:39:51 +0000 (20:39 +0100)]
util: Dump PIPE_FUNC_x value names.

15 years agollvmpipe: use the udis86 lib to print the x86 assembly code
Brian Paul [Wed, 19 Aug 2009 19:23:02 +0000 (13:23 -0600)]
llvmpipe: use the udis86 lib to print the x86 assembly code

15 years agollvmpipe: frag shader comments
Brian Paul [Wed, 19 Aug 2009 19:14:59 +0000 (13:14 -0600)]
llvmpipe: frag shader comments

15 years agollvmpipe: blend comments
Brian Paul [Wed, 19 Aug 2009 19:14:40 +0000 (13:14 -0600)]
llvmpipe: blend comments

15 years agollvmpipe: comments about blend generator
Brian Paul [Wed, 19 Aug 2009 19:14:15 +0000 (13:14 -0600)]
llvmpipe: comments about blend generator

15 years agollvmpipe: basic comments
Brian Paul [Wed, 19 Aug 2009 19:13:49 +0000 (13:13 -0600)]
llvmpipe: basic comments

15 years agollvmpipe: Hack to force the line/point rasterization also fit the blend function...
José Fonseca [Wed, 19 Aug 2009 17:47:58 +0000 (18:47 +0100)]
llvmpipe: Hack to force the line/point rasterization also fit the blend function expectations.

15 years agollvmpipe: Refer my udis86 branch which decodes more opcodes.
José Fonseca [Wed, 19 Aug 2009 17:47:12 +0000 (18:47 +0100)]
llvmpipe: Refer my udis86 branch which decodes more opcodes.