mesa.git
15 years agollvmpipe: Make lp_const_offset visible.
José Fonseca [Fri, 7 Aug 2009 13:33:07 +0000 (14:33 +0100)]
llvmpipe: Make lp_const_offset visible.

15 years agollvmpipe: Only get the preprocessor flags from llvm-config.
José Fonseca [Fri, 7 Aug 2009 13:20:57 +0000 (14:20 +0100)]
llvmpipe: Only get the preprocessor flags from llvm-config.

Otherwise we get -O2 optimization flag, preventing proper debugging.

15 years agollvmpipe: Bootstrap type conversions.
José Fonseca [Fri, 7 Aug 2009 08:51:48 +0000 (09:51 +0100)]
llvmpipe: Bootstrap type conversions.

15 years agollvmpipe: Use same type for reference vectors.
José Fonseca [Fri, 7 Aug 2009 08:51:04 +0000 (09:51 +0100)]
llvmpipe: Use same type for reference vectors.

15 years agollvmpipe: Fix floating point const scale factor.
José Fonseca [Fri, 7 Aug 2009 08:28:58 +0000 (09:28 +0100)]
llvmpipe: Fix floating point const scale factor.

15 years agollvmpipe: Factor out shared test code into a separate module.
José Fonseca [Fri, 7 Aug 2009 00:20:01 +0000 (01:20 +0100)]
llvmpipe: Factor out shared test code into a separate module.

15 years agollvmpipe: Cleanup constant helpers.
José Fonseca [Fri, 7 Aug 2009 00:18:49 +0000 (01:18 +0100)]
llvmpipe: Cleanup constant helpers.

15 years agollvmpipe: Move intrinsic helpers to a separate module.
José Fonseca [Fri, 7 Aug 2009 00:16:59 +0000 (01:16 +0100)]
llvmpipe: Move intrinsic helpers to a separate module.

15 years agollvmpipe: Collect richer blend data.
José Fonseca [Tue, 4 Aug 2009 12:39:28 +0000 (13:39 +0100)]
llvmpipe: Collect richer blend data.

15 years agollvmpipe: Some notes about PSHUF.
José Fonseca [Tue, 4 Aug 2009 11:32:24 +0000 (12:32 +0100)]
llvmpipe: Some notes about PSHUF.

15 years agollvmpipe: Optimize blend swizzles by using bitmasks instead of shuffles for ubytes.
José Fonseca [Tue, 4 Aug 2009 11:09:52 +0000 (12:09 +0100)]
llvmpipe: Optimize blend swizzles by using bitmasks instead of shuffles for ubytes.

15 years agollvmpipe: Write data to a tsv file for posterior analysis.
José Fonseca [Tue, 4 Aug 2009 10:52:54 +0000 (11:52 +0100)]
llvmpipe: Write data to a tsv file for posterior analysis.

15 years agollvmpipe: Move p_build_context to lp_bld_type.h
José Fonseca [Tue, 4 Aug 2009 10:51:13 +0000 (11:51 +0100)]
llvmpipe: Move p_build_context to lp_bld_type.h

As it will be shared with more modules.

15 years agoutil: New file dedicated to dump state in human/machine readable format.
José Fonseca [Tue, 4 Aug 2009 10:50:13 +0000 (11:50 +0100)]
util: New file dedicated to dump state in human/machine readable format.

15 years agollvmpipe: Don't use llvm.readcyclecounter.
José Fonseca [Tue, 4 Aug 2009 01:10:35 +0000 (02:10 +0100)]
llvmpipe: Don't use llvm.readcyclecounter.

LLVM during optimization reorders the rdtsc instructions next to each
other, which makes it pretty useless.

15 years agollvmpipe: Separate constant building.
José Fonseca [Mon, 3 Aug 2009 21:31:08 +0000 (22:31 +0100)]
llvmpipe: Separate constant building.

15 years agollvmpipe: Move type support functions into a separate file.
José Fonseca [Mon, 3 Aug 2009 21:24:01 +0000 (22:24 +0100)]
llvmpipe: Move type support functions into a separate file.

15 years agollvmpipe: Measure the number of cycles taken for blending.
José Fonseca [Mon, 3 Aug 2009 18:35:28 +0000 (19:35 +0100)]
llvmpipe: Measure the number of cycles taken for blending.

15 years agollvmpipe: Minor comments / debug mnemonics.
José Fonseca [Mon, 3 Aug 2009 18:32:57 +0000 (19:32 +0100)]
llvmpipe: Minor comments / debug mnemonics.

15 years agollvmpipe: Optimize away min/max with equal operands.
José Fonseca [Mon, 3 Aug 2009 18:31:56 +0000 (19:31 +0100)]
llvmpipe: Optimize away min/max with equal operands.

15 years agollvmpipe: Improve generated 8bit blending code.
José Fonseca [Mon, 3 Aug 2009 01:06:42 +0000 (02:06 +0100)]
llvmpipe: Improve generated 8bit blending code.

15 years agollvmpipe: Get blending of normalized 8bit unsigned integers working.
José Fonseca [Sun, 2 Aug 2009 23:01:27 +0000 (00:01 +0100)]
llvmpipe: Get blending of normalized 8bit unsigned integers working.

15 years agollvmpipe: Specialize arithmetic operations.
José Fonseca [Sun, 2 Aug 2009 16:54:53 +0000 (17:54 +0100)]
llvmpipe: Specialize arithmetic operations.

15 years agollvmpipe: Introduce a custom typing system.
José Fonseca [Sun, 2 Aug 2009 12:52:40 +0000 (13:52 +0100)]
llvmpipe: Introduce a custom typing system.

Straightforward representation of floating-point/fixed-point/integer,
normalized/scaled, signed/unsigned SIMD vector types.

15 years agollvmpipe: Avoid C99-isms.
José Fonseca [Sun, 2 Aug 2009 12:48:16 +0000 (13:48 +0100)]
llvmpipe: Avoid C99-isms.

15 years agollvmpipe: Factor out intrisic calling code into a reusable function.
José Fonseca [Sun, 2 Aug 2009 08:59:12 +0000 (09:59 +0100)]
llvmpipe: Factor out intrisic calling code into a reusable function.

15 years agollvmpipe: Cleanup test programs.
José Fonseca [Sat, 1 Aug 2009 17:35:04 +0000 (18:35 +0100)]
llvmpipe: Cleanup test programs.

15 years agollvmpipe: Blending.
José Fonseca [Sat, 1 Aug 2009 16:59:19 +0000 (17:59 +0100)]
llvmpipe: Blending.

The code

15 years agollvmpipe: Arithmetic helpers.
José Fonseca [Sat, 1 Aug 2009 16:27:05 +0000 (17:27 +0100)]
llvmpipe: Arithmetic helpers.

15 years agollvmpipe: fastpath for interpolated z16 less depthtesting
Keith Whitwell [Mon, 27 Jul 2009 11:11:16 +0000 (12:11 +0100)]
llvmpipe: fastpath for interpolated z16 less depthtesting

Because this is interpolated (ie. early) depth, we can build in an
assumption about the quads emitted by triangle setup, ie that they
are actually linear spans.  Interpolate z over those spans in z16
format to save on math & conversion.

15 years agollvmpipe: cope with nr_cbufs == 0
Keith Whitwell [Mon, 27 Jul 2009 10:23:51 +0000 (11:23 +0100)]
llvmpipe: cope with nr_cbufs == 0

Disable blend code when no color buffer

15 years agollvmpipe: Translate logicops.
José Fonseca [Wed, 29 Jul 2009 07:29:13 +0000 (08:29 +0100)]
llvmpipe: Translate logicops.

15 years agollvmpipe: Separate pixel packing/unpacking from loading/storing.
José Fonseca [Wed, 29 Jul 2009 06:58:27 +0000 (07:58 +0100)]
llvmpipe: Separate pixel packing/unpacking from loading/storing.

15 years agoxlib: Integrate with llvmpipe.
José Fonseca [Tue, 28 Jul 2009 07:49:40 +0000 (08:49 +0100)]
xlib: Integrate with llvmpipe.

Actually, the makefile/sconscript changes were already commit by mistake.

15 years agollvmpipe: Adjust for pixel layout changes.
José Fonseca [Tue, 28 Jul 2009 07:47:35 +0000 (08:47 +0100)]
llvmpipe: Adjust for pixel layout changes.

15 years agoutil: Make pixel format layout more meaningful.
José Fonseca [Tue, 28 Jul 2009 07:47:13 +0000 (08:47 +0100)]
util: Make pixel format layout more meaningful.

Namelly, explicitly distinguish formats coded by arithmetic manipulation,
from formats layed out in array.

15 years agoutil: Don't commit u_format_table.c
José Fonseca [Tue, 28 Jul 2009 07:42:27 +0000 (08:42 +0100)]
util: Don't commit u_format_table.c

At least not until stabilizes, to reduce noise.

15 years agollvmpipe: Fix typo in copyright.
José Fonseca [Tue, 28 Jul 2009 07:14:10 +0000 (08:14 +0100)]
llvmpipe: Fix typo in copyright.

15 years agollvmpipe: Add test cases for pixels.
José Fonseca [Mon, 27 Jul 2009 22:18:44 +0000 (23:18 +0100)]
llvmpipe: Add test cases for pixels.

Actually some of this test cases need more testing...

15 years agoutil: Fix r5g6b5 description.
José Fonseca [Mon, 27 Jul 2009 22:16:32 +0000 (23:16 +0100)]
util: Fix r5g6b5 description.

15 years agollvmpipe: Update SConscript.
José Fonseca [Mon, 27 Jul 2009 10:45:50 +0000 (11:45 +0100)]
llvmpipe: Update SConscript.

15 years agollvmpipe: Simple shell script to aid port softpipe changes to llvmpipe.
José Fonseca [Mon, 27 Jul 2009 10:45:36 +0000 (11:45 +0100)]
llvmpipe: Simple shell script to aid port softpipe changes to llvmpipe.

15 years agollvmpipe: move all depth/stencil/alpha pixel processing into one stage
Keith Whitwell [Mon, 27 Jul 2009 07:17:45 +0000 (08:17 +0100)]
llvmpipe: move all depth/stencil/alpha pixel processing into one stage

15 years agollvmpipe: fix error in scissor state dependencies
Keith Whitwell [Sat, 25 Jul 2009 10:01:48 +0000 (11:01 +0100)]
llvmpipe: fix error in scissor state dependencies

15 years agollvmpipe: cleanup framebuffer state routine slightly
Keith Whitwell [Sat, 25 Jul 2009 09:01:06 +0000 (10:01 +0100)]
llvmpipe: cleanup framebuffer state routine slightly

15 years agollvmpipe: move all color-combine code into lp_quad_blend.c
Keith Whitwell [Fri, 24 Jul 2009 19:19:18 +0000 (20:19 +0100)]
llvmpipe: move all color-combine code into lp_quad_blend.c

Consolidate the read-modify-write color combining code from
the blend, colormask and output stages.

15 years agollvmpipe: fix typo
Keith Whitwell [Fri, 24 Jul 2009 19:18:52 +0000 (20:18 +0100)]
llvmpipe: fix typo

15 years agollvmpipe: example fastpaths in blending
Keith Whitwell [Fri, 24 Jul 2009 17:46:17 +0000 (18:46 +0100)]
llvmpipe: example fastpaths in blending

15 years agollvmpipe: actually pass >1 quad from triangle routine
Keith Whitwell [Fri, 24 Jul 2009 17:17:05 +0000 (18:17 +0100)]
llvmpipe: actually pass >1 quad from triangle routine

First attempt

15 years agollvmpipe: expand quad pipeline to process >1 quad at a time
Keith Whitwell [Fri, 24 Jul 2009 15:49:35 +0000 (16:49 +0100)]
llvmpipe:  expand quad pipeline to process >1 quad at a time

This is part one -- we still only pass a single quad down, but
the code can now cope with more.  The quads must all be from the same
tile.

15 years agollvmpipe: rip out old mulithread support
Keith Whitwell [Fri, 24 Jul 2009 15:12:48 +0000 (16:12 +0100)]
llvmpipe: rip out old mulithread support

15 years agollvmpipe: avoid flushing depth buffer cache on swapbuffers
Keith Whitwell [Thu, 23 Jul 2009 10:14:39 +0000 (11:14 +0100)]
llvmpipe: avoid flushing depth buffer cache on swapbuffers

There's no need to push out depth buffer contents on swapbuffers.

Note that this change doesn't throw away depth buffer changes, it simply
holds them in the cache over calls to swapbuffers.  The hope is
that swapbuffers will be followed by a clear() which means in that case
we won't have to write the changes out.

15 years agollvmpipe: also shortcircuit non-texture tile lookups
Keith Whitwell [Wed, 22 Jul 2009 14:36:25 +0000 (15:36 +0100)]
llvmpipe: also shortcircuit non-texture tile lookups

15 years agollvmpipe: shortcircuit repeated lookups of the same tile
Keith Whitwell [Wed, 22 Jul 2009 14:08:42 +0000 (15:08 +0100)]
llvmpipe: shortcircuit repeated lookups of the same tile

The lp_tile_cache is often called repeatedly to look up the same
tile.  Add a cache (to the cache) of the single tile most recently
retreived and make a quick inline check to see if this matches the
subsequent request.

Add a tile_address bitfield struct to make this check easier.

15 years agollvmpipe: remove unused vars in lp_setup.c
Keith Whitwell [Fri, 17 Jul 2009 11:12:04 +0000 (12:12 +0100)]
llvmpipe: remove unused vars in lp_setup.c

15 years agollvmpipe: use bitwise logic to setup quad masks in lp_setup
Keith Whitwell [Fri, 17 Jul 2009 11:03:51 +0000 (12:03 +0100)]
llvmpipe: use bitwise logic to setup quad masks in lp_setup

15 years agollvmpipe: simplify flush_spans
Keith Whitwell [Fri, 17 Jul 2009 09:47:32 +0000 (10:47 +0100)]
llvmpipe: simplify flush_spans

No loss of performance, but simpler code.

15 years agollvmpipe: make some small steps to flush texture cache less frequently
Keith Whitwell [Fri, 17 Jul 2009 09:44:22 +0000 (10:44 +0100)]
llvmpipe: make some small steps to flush texture cache less frequently

No performance gain yet, but the code is a bit cleaner.

15 years agollvmpipe: remove backwards dependency from tilecache to llvmpipe
Keith Whitwell [Thu, 16 Jul 2009 13:14:32 +0000 (14:14 +0100)]
llvmpipe: remove backwards dependency from tilecache to llvmpipe

The tile cache is a utility, it shouldn't know anything about the
entity which is making use of it (ie llvmpipe).

Remove llvmpipe parameter to all the tilecache function calls, and
also remove the need to keep a llvmpipe pointer in the sampler structs.

15 years agollvmpipe: Rename preprocessor symbols too.
José Fonseca [Mon, 27 Jul 2009 10:36:24 +0000 (11:36 +0100)]
llvmpipe: Rename preprocessor symbols too.

15 years agollvmpipe: Pixel packing/unpacking and loop code generators.
José Fonseca [Mon, 27 Jul 2009 00:23:15 +0000 (01:23 +0100)]
llvmpipe: Pixel packing/unpacking and loop code generators.

Just a small proof of concept plus a standalone test app. Not integrated
with the rest of the driver yet.

15 years agoutil: Pixel format database.
José Fonseca [Sun, 26 Jul 2009 22:50:00 +0000 (23:50 +0100)]
util: Pixel format database.

There are some inconsistencies in pipe_format, but above all, there
simply aren't enough bits in an enum to conveniently store all
information about a pixel format we need to be able to dynamically
generate pixel packing/unpacking code.

15 years agollvmpipe: Fork softpipe for experimentation with llvm.
José Fonseca [Sun, 26 Jul 2009 22:44:38 +0000 (23:44 +0100)]
llvmpipe: Fork softpipe for experimentation with llvm.

15 years agoPut 'extern' first on the line to silence GCC warnings.
Ian Romanick [Sat, 29 Aug 2009 03:12:36 +0000 (20:12 -0700)]
Put 'extern' first on the line to silence GCC warnings.

15 years agoi965: Use VBOs in the VBO module on 965, now that we have ARB_map_buffer_range.
Eric Anholt [Fri, 28 Aug 2009 22:01:56 +0000 (15:01 -0700)]
i965: Use VBOs in the VBO module on 965, now that we have ARB_map_buffer_range.

This looks like it's a small win on blender.

15 years agovbo: Fix array pointer calculation for MapBufferRange-mapped vertex data.
Eric Anholt [Fri, 28 Aug 2009 21:44:55 +0000 (14:44 -0700)]
vbo: Fix array pointer calculation for MapBufferRange-mapped vertex data.

We would end up with the offset from the start of the mapping rather than
the offset from the start of the buffer.

15 years agointel: Add support for GL_ARB_map_buffer_range.
Eric Anholt [Thu, 27 Aug 2009 01:08:52 +0000 (18:08 -0700)]
intel: Add support for GL_ARB_map_buffer_range.

Passes glean's bufferObject test, and should provide good performance in the
cases applications are expected to use.

15 years agoi965: Implement ARB_oq CheckQuery in the intended way.
Eric Anholt [Fri, 28 Aug 2009 01:34:11 +0000 (18:34 -0700)]
i965: Implement ARB_oq CheckQuery in the intended way.

Previously we blocked because I hadn't added the libdrm function.  Now it's
there, so update your libdrm.

15 years agoradeon: Fix swtcl emit pediction.
Pauli Nieminen [Fri, 28 Aug 2009 21:46:08 +0000 (00:46 +0300)]
radeon: Fix swtcl emit pediction.

Problem was to find the correct place to run prediction. Only place that is
called for every primitive is ALLOC_VERTS so we have to do prediction there
before allocation.

15 years agoi915g: Add cursor case for scanout layout
Jakob Bornecrantz [Fri, 28 Aug 2009 21:39:29 +0000 (22:39 +0100)]
i915g: Add cursor case for scanout layout

15 years agoi915g: Don't forget to init buffer ptrs
Jakob Bornecrantz [Fri, 28 Aug 2009 21:33:42 +0000 (22:33 +0100)]
i915g: Don't forget to init buffer ptrs

15 years agost/xorg: disable composite accelration for now
Zack Rusin [Fri, 28 Aug 2009 20:19:53 +0000 (16:19 -0400)]
st/xorg: disable composite accelration for now

15 years agost/xorg: bind samplers before composition
Zack Rusin [Fri, 28 Aug 2009 19:43:46 +0000 (15:43 -0400)]
st/xorg: bind samplers before composition

15 years agost/xorg: normalize coords for the src operands in the vertex shader
Zack Rusin [Fri, 28 Aug 2009 19:36:05 +0000 (15:36 -0400)]
st/xorg: normalize coords for the src operands in the vertex shader

15 years agoradeon: Fix scissors for dri1.
Pauli Nieminen [Fri, 28 Aug 2009 17:41:15 +0000 (20:41 +0300)]
radeon: Fix scissors for dri1.

DRI1 has to set scissors in framebuffer coordinates.

15 years agor300g: pretty up the new drm code a bit
Joakim Sindholt [Fri, 28 Aug 2009 18:05:52 +0000 (20:05 +0200)]
r300g: pretty up the new drm code a bit

As it turns out, I made some boners. This corrects them (I hope)

15 years agost/xorg: If migrating from a sw pixmap to a hw pixmap upload old contents
Jakob Bornecrantz [Fri, 28 Aug 2009 14:56:59 +0000 (16:56 +0200)]
st/xorg: If migrating from a sw pixmap to a hw pixmap upload old contents

15 years agost/xorg: Null devPrivate.ptr when unmapping
Jakob Bornecrantz [Fri, 28 Aug 2009 14:56:02 +0000 (16:56 +0200)]
st/xorg: Null devPrivate.ptr when unmapping

15 years agost/xorg: Fix scons build.
Michel Dänzer [Fri, 28 Aug 2009 15:42:07 +0000 (17:42 +0200)]
st/xorg: Fix scons build.

15 years agor300g: support new drm_api
Joakim Sindholt [Fri, 28 Aug 2009 15:13:49 +0000 (17:13 +0200)]
r300g: support new drm_api

15 years agodrm_api: Operate on textures instead of buffers
Jakob Bornecrantz [Thu, 27 Aug 2009 17:57:29 +0000 (18:57 +0100)]
drm_api: Operate on textures instead of buffers

Most use cases just got the buffer from the texture
and then called into one of the get_handle functions.

Also with this patch it would be easier to move to a
generic function for getting handles from textures
and textures from handles, that is exposed via the screen.

15 years agost/xorg: Fix some warnings
Jakob Bornecrantz [Thu, 27 Aug 2009 16:56:30 +0000 (17:56 +0100)]
st/xorg: Fix some warnings

15 years agost/dri: Fix some warnings
Jakob Bornecrantz [Thu, 27 Aug 2009 16:38:33 +0000 (17:38 +0100)]
st/dri: Fix some warnings

15 years agost/xorg: Pass dri driver name as driverName on screen
Jakob Bornecrantz [Fri, 28 Aug 2009 10:32:04 +0000 (12:32 +0200)]
st/xorg: Pass dri driver name as driverName on screen

15 years agoRevert "st/xorg/dri: Pass texture formats via the DRI2 protocol flags."
Jakob Bornecrantz [Fri, 28 Aug 2009 09:43:19 +0000 (11:43 +0200)]
Revert "st/xorg/dri: Pass texture formats via the DRI2 protocol flags."

This reverts commit a33e9ea3b9b7ac98d6e9bc385bbbe7eac2eb73d0.

As this change breaks both radeon and nouveau

15 years agor100/r200: Bring back old PolygonStripple for DRI1.
Pauli Nieminen [Fri, 28 Aug 2009 02:42:41 +0000 (05:42 +0300)]
r100/r200: Bring back old PolygonStripple for DRI1.

DRI1 didn't have support for command buffer emit for stripple.

15 years agor100/r200: Share PolygonStripple code.
Pauli Nieminen [Fri, 28 Aug 2009 01:58:50 +0000 (04:58 +0300)]
r100/r200: Share PolygonStripple code.

15 years agor200: Fix piglit paths test.
Pauli Nieminen [Fri, 28 Aug 2009 01:12:17 +0000 (04:12 +0300)]
r200: Fix piglit paths test.

Polygon stipple has to go to command buffer because special ioctl is disabled.
Piglit doesn't like HyperZ warning so disable it for kms.

15 years agor600: fix scissor also.
Dave Airlie [Fri, 28 Aug 2009 01:05:29 +0000 (11:05 +1000)]
r600: fix scissor also.

I forgot about r600 being here.

15 years agoradeon: fix scissors harder.
Dave Airlie [Fri, 28 Aug 2009 01:01:38 +0000 (11:01 +1000)]
radeon: fix scissors harder.

this makes gnome-shell work on r300 for me

15 years agointel: Add support for ARB_copy_buffer.
Eric Anholt [Thu, 27 Aug 2009 23:53:50 +0000 (16:53 -0700)]
intel: Add support for ARB_copy_buffer.

Passes glean's bufferObject test for this extension.

15 years agor300: Fix emit prediction to account scissor emitting correctly.
Pauli Nieminen [Thu, 27 Aug 2009 23:04:00 +0000 (02:04 +0300)]
r300: Fix emit prediction to account scissor emitting correctly.

15 years agoMerge branch 'mesa_7_5_branch'
Brian Paul [Thu, 27 Aug 2009 22:54:32 +0000 (16:54 -0600)]
Merge branch 'mesa_7_5_branch'

15 years agodocs: fix selection/feedback culling bug
Brian Paul [Thu, 27 Aug 2009 22:50:44 +0000 (16:50 -0600)]
docs: fix selection/feedback culling bug

15 years agoswrast: fix incorrect tri culling in selection/feedback mode.
Brian Paul [Thu, 27 Aug 2009 22:50:03 +0000 (16:50 -0600)]
swrast: fix incorrect tri culling in selection/feedback mode.

See bug 16866.

15 years agoi915: Fix undefined symbol as of eabe12df44a41e97fb5736959e8864ddbd01be14
Eric Anholt [Thu, 27 Aug 2009 22:33:33 +0000 (15:33 -0700)]
i915: Fix undefined symbol as of eabe12df44a41e97fb5736959e8864ddbd01be14

15 years agost/xorg: set vertex and fragment shader for the current op
Zack Rusin [Thu, 27 Aug 2009 22:17:54 +0000 (18:17 -0400)]
st/xorg: set vertex and fragment shader for the current op

15 years agost/xorg: bind rasterizer state
Zack Rusin [Thu, 27 Aug 2009 22:08:58 +0000 (18:08 -0400)]
st/xorg: bind rasterizer state

15 years agost/xorg: set blend state for exa
Zack Rusin [Thu, 27 Aug 2009 22:06:15 +0000 (18:06 -0400)]
st/xorg: set blend state for exa

15 years agost/xorg: bind framebuffer and viewport for exa
Zack Rusin [Thu, 27 Aug 2009 21:39:20 +0000 (17:39 -0400)]
st/xorg: bind framebuffer and viewport for exa