José Fonseca [Tue, 15 Sep 2009 15:02:20 +0000 (16:02 +0100)]
gallium: Use the enum for pipe_transfer::usage.
José Fonseca [Tue, 15 Sep 2009 15:02:00 +0000 (16:02 +0100)]
gallium: pipe_transfer_destroy helper inline.
Christoph Bumiller [Tue, 15 Sep 2009 13:24:32 +0000 (15:24 +0200)]
nv50: fix stupid thinko in emit_set
When swapping sources 0 and 1, EQ of course does *not*
become NE, etc.
Introduced in
2b963f5c723401aa2646bd48eefe065cd335e280.
Michal Krol [Tue, 15 Sep 2009 11:00:27 +0000 (12:00 +0100)]
gallium: Fix pointer type casts.
Christoph Bumiller [Tue, 15 Sep 2009 09:56:58 +0000 (11:56 +0200)]
nv50: let programs use the whole param buffer
Allocation is unnecessary since all uniforms are
uploaded on every constant buffer change anyway.
Christoph Bumiller [Mon, 14 Sep 2009 19:03:19 +0000 (21:03 +0200)]
nv50: add preliminary support for point sprites
Christoph Bumiller [Tue, 15 Sep 2009 09:49:41 +0000 (11:49 +0200)]
nv50: add support for point size per vertex
Christoph Bumiller [Mon, 14 Sep 2009 18:52:52 +0000 (20:52 +0200)]
nv50: add support for light-twoside
Christoph Bumiller [Mon, 14 Sep 2009 18:23:39 +0000 (20:23 +0200)]
nv50: proper linkage between VP and FP
This moves construction of the mapping between VP outputs
and FP inputs into validation.
The map also contains slots for special outputs like clip
distance and point size, so we need to at least merge the
VP related and FP related parts on validation if we want
to support those.
Now we match every single FP input component with results
from the VP and leave those not read out of the map, or
replace those not written by 0 (xyz) or 1 (w).
The bitmap indicating linear interpolants is also filled,
and flat FP inputs are mapped in only after non-flat ones,
as is required.
Furthermore, we can save some space by only fetching VP
attrs we actually use, and avoid wasting any output regs
because of TGSI using less than 4 components.
Christoph Bumiller [Tue, 15 Sep 2009 09:47:00 +0000 (11:47 +0200)]
nv50: move allocation of pc regs
Make use of tgsi_shader_info to determine how many nv50_regs we
need to allocate, whether program uses KIL, or writes DEPR.
Christoph Bumiller [Tue, 15 Sep 2009 09:45:40 +0000 (11:45 +0200)]
nv50: nicer initialization of nv50_regs
Christoph Bumiller [Thu, 10 Sep 2009 20:42:57 +0000 (22:42 +0200)]
nv50: handle CEIL and TRUNC opcodes
Christoph Bumiller [Thu, 10 Sep 2009 20:38:09 +0000 (22:38 +0200)]
nv50: handle SEQ, SGT, SLE, SNE opcodes
Christoph Bumiller [Tue, 15 Sep 2009 09:44:59 +0000 (11:44 +0200)]
nv50: SIN and COS use src0.w for dst.w
Christoph Bumiller [Thu, 10 Sep 2009 14:33:54 +0000 (16:33 +0200)]
nv50: use broadcast TEMP reg in tx_insn
Makes some opcode cases nicer and might reduce the total
nr of TEMPs required, or save some MOVs.
Christoph Bumiller [Tue, 15 Sep 2009 09:44:19 +0000 (11:44 +0200)]
nv50: add nv50_tgsi_insn to handle swizzles safely
Christoph Bumiller [Thu, 10 Sep 2009 11:48:24 +0000 (13:48 +0200)]
nv50: add functions for swizzle resolution
We're going to try to reorder the scalar ops of a vector instr
to accomodate swizzles that would otherwise require us to emit
to an additional TEMP first (like MOV R0.xy, R0.zx).
Christoph Bumiller [Thu, 10 Sep 2009 10:00:37 +0000 (12:00 +0200)]
nv50: extend insn src mask function
Extend its usage to avoiding e.g. emission of negation
instructions in tx_insn for sources we don't need.
Cooper Yuan [Tue, 15 Sep 2009 07:25:47 +0000 (15:25 +0800)]
st/g3dvl: pass color values to softpipe clear function
Cooper Yuan [Tue, 15 Sep 2009 05:16:56 +0000 (13:16 +0800)]
xvmc: Generate new resource ID in _XIDHandler, otherwise it's invalid.
Zack Rusin [Mon, 14 Sep 2009 23:01:21 +0000 (19:01 -0400)]
st/xorg: add some debugging helpers
Alex Deucher [Mon, 14 Sep 2009 22:05:15 +0000 (18:05 -0400)]
r600: add span support for 1D tiles
1D tile span support for depth/stencil/color/textures
Z and stencil buffers are always tiled, so this fixes
sw access to Z and stencil buffers. color and textures
are currently linear, but this adds span support when we
implement 1D tiling.
This fixes the text in progs/demos/engine and progs/tests/z*
Alex Deucher [Mon, 14 Sep 2009 21:08:26 +0000 (17:08 -0400)]
r600: fix warning
Noticed by rnoland on IRC.
Brian Paul [Mon, 14 Sep 2009 22:01:27 +0000 (16:01 -0600)]
st/mesa: minor whitespace, comment clean-ups
Brian Paul [Mon, 14 Sep 2009 21:47:07 +0000 (15:47 -0600)]
st/xorg: fix ureg_DECL_constant() parameters
This fixes the compilation errors reported in bug 23945 but someone more
familiar with the code should review for correctness and close the bug
report.
José Fonseca [Tue, 1 Sep 2009 09:17:39 +0000 (10:17 +0100)]
scons: Allow to use only the WINDDK headers.
José Fonseca [Tue, 1 Sep 2009 09:11:08 +0000 (10:11 +0100)]
scons: Allow to use MS's DXSDK headers with MinGW.
José Fonseca [Mon, 1 Jun 2009 16:20:29 +0000 (09:20 -0700)]
gallium: Add pipe_transfer_map/unmap inlines.
José Fonseca [Mon, 1 Jun 2009 15:58:34 +0000 (08:58 -0700)]
util: Add _BitScanForward intrinsic's declaration.
It is missing in some Microsoft DDKs.
Brian Paul [Mon, 14 Sep 2009 18:42:07 +0000 (12:42 -0600)]
intel: minor code clean-ups
Brian Paul [Mon, 14 Sep 2009 18:40:53 +0000 (12:40 -0600)]
intel: fix renderbuffer map/unmap regression
Commit
36dd53a3cded9d003ec418732b7fc93c1476aa9b caused a few regressions
because the glReadBuffer() buffer wasn't getting mapped when GL_READ_BUFFER
!= GL_DRAW_BUFFER.
Brian Paul [Fri, 11 Sep 2009 20:49:00 +0000 (14:49 -0600)]
intel: remove unneeded driver function assignments
These default swrast functions are already installed by
_mesa_init_driver_functions().
Brian Paul [Fri, 11 Sep 2009 17:14:12 +0000 (11:14 -0600)]
progs/tests: exercise display lists and pixelstore
Keith Whitwell [Mon, 14 Sep 2009 16:11:09 +0000 (17:11 +0100)]
mesa/st: remove dead comment
Keith Whitwell [Sat, 12 Sep 2009 21:22:48 +0000 (14:22 -0700)]
st/mesa: convert to new tgsi_ureg mechanism for shader emit
Should be easier to read and work with than the older ways of emitting
TGSI tokens.
Also, emit simpler TGSI than previously:
- translate away source and dest extended modifiers
- translate away the SWZ opcode
Marcin Kościelnicki [Mon, 14 Sep 2009 09:56:55 +0000 (09:56 +0000)]
nv50: Fix m2mf positions.
José Fonseca [Mon, 14 Sep 2009 10:05:06 +0000 (11:05 +0100)]
llvmpipe: Make lp_type a regular union.
Union not worth the hassle of violating C99 or adding a name to
the structure.
José Fonseca [Mon, 14 Sep 2009 10:01:27 +0000 (11:01 +0100)]
util: Fix a1r5g5b5's format description.
Cooper Yuan [Mon, 14 Sep 2009 08:23:03 +0000 (16:23 +0800)]
g3dvl: update tgsi_opcode in order to build g3dvl library
Keith Whitwell [Sun, 13 Sep 2009 18:59:24 +0000 (11:59 -0700)]
tgsi: handle some src/dst aliasing in tgsi_sse2.c
Src/Dst aliasing (aka SOA dependencies) requires some care to ensure
intermediate results do not overwrite yet-to-be read source registers.
This change ensures that MOV/SWZ handle this correctly, which is poor but
no worse than the current tgsi_exec.c path. Remove the fallback as there
is nothing to be gained correctness-wise between the two implementations now.
Fixing this properly looks like a bit of work in this code, but might be
easily achieved by sending destination writes to temporary storage.
José Fonseca [Sun, 13 Sep 2009 15:22:27 +0000 (16:22 +0100)]
llvmpipe: Compute derivatives.
José Fonseca [Sun, 13 Sep 2009 15:13:12 +0000 (16:13 +0100)]
llvmpipe: Remove dead references to pipe_winsys.
José Fonseca [Sun, 13 Sep 2009 15:12:48 +0000 (16:12 +0100)]
llvmpipe: Use const keyword for input array arguments.
José Fonseca [Sun, 13 Sep 2009 13:42:52 +0000 (14:42 +0100)]
llvmpipe: Delay storing into the dst register to prevent clobbering the src registers.
How I'm thankful for regular expressions -- just a couple of them were
all that was needed to do this otherwise tiresome and bug prone change.
José Fonseca [Sun, 13 Sep 2009 12:55:08 +0000 (13:55 +0100)]
llvmpipe: Translate more TGSI opcodes.
Basically cover all low hanging fruit, and mark the still missing opcodes
as "fixme" or deprecated.
José Fonseca [Sun, 13 Sep 2009 12:50:19 +0000 (13:50 +0100)]
llvmpipe: Add a few more common arithmetic functions.
We are relying on SSE4.1 for round/trunc/ceil/floor. We'll need to
eventually find alternatives for the rest of the world.
José Fonseca [Sun, 13 Sep 2009 12:45:48 +0000 (13:45 +0100)]
llvmpipe: Rename function to free up lp_build_trunc to the usual arithmetic meaning.
Keith Whitwell [Sun, 13 Sep 2009 01:33:46 +0000 (18:33 -0700)]
tgsi: implement saturation
Fix recent performance regression.
Keith Whitwell [Sat, 12 Sep 2009 22:58:34 +0000 (15:58 -0700)]
tgsi: add missing implementation of constant decl change
Cooper Yuan [Sun, 13 Sep 2009 11:10:34 +0000 (07:10 -0400)]
r300g: delete unused flag due to commit:
09b566e1610
Keith Whitwell [Sat, 12 Sep 2009 21:18:50 +0000 (14:18 -0700)]
ureg: add a mechanism to get the built tokens rather than a full shader
Previously ureg would always call the driver's create-shader function. This
allows the caller the opportunity to hold onto the tokens if it needs to
reuse them, eg. to create an internal draw shader.
Keith Whitwell [Sat, 12 Sep 2009 21:18:00 +0000 (14:18 -0700)]
ureg: add generic emitters for tex and branch instructions
Couldn't previously emit these except by calling the opcode-specific helper.
Keith Whitwell [Sat, 12 Sep 2009 21:16:00 +0000 (14:16 -0700)]
tgsi/ureg: give ureg_DECL_constant an explicit index parameter
Avoid the need to emit all constant declarations in order. Makes
referring to a specific constant in the constant buffer much easier.
Keith Whitwell [Sat, 12 Sep 2009 21:13:44 +0000 (14:13 -0700)]
mesa: remove unused SATURATE_PLUS_MINUS_ONE flag
Never set in mesa. Remove from tgsi translation as well.
Keith Whitwell [Sat, 12 Sep 2009 21:12:35 +0000 (14:12 -0700)]
tgsi/ureg: VS inputs don't have any semantic tags, just an index
Fix ureg_DECL_vs_input to reflect this and fix up all callers.
Keith Whitwell [Sat, 12 Sep 2009 21:07:48 +0000 (14:07 -0700)]
tgsi: free tokens on error
Keith Whitwell [Sat, 12 Sep 2009 21:05:37 +0000 (14:05 -0700)]
tgsi: sanity check ureg programs
Keith Whitwell [Sat, 12 Sep 2009 21:04:36 +0000 (14:04 -0700)]
tgsi: add const qualifier
Nicolai Hähnle [Sat, 12 Sep 2009 14:34:55 +0000 (16:34 +0200)]
r300g: There is no such thing as "texture stride"
Individual texture images have a stride, but textures as a whole do not.
There are still pieces of code which are confused about this, but the core of
the confusion is hopefully gone.
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
Eric Anholt [Fri, 11 Sep 2009 21:09:03 +0000 (14:09 -0700)]
i965: Move OPCODE_DDX/DDY to brw_wm_emit.c and make it actually work.
Previously, it was trying to mess around with the varying's
WM setup data to produce a result. Along with not actually working when
passed a varying, this wouldn't work if you did dFd[xy]() on a temporary.
Instead, just calculate the derivative using the neighbors in the subspan.
Andre Maasikas [Fri, 11 Sep 2009 19:59:55 +0000 (15:59 -0400)]
r600: fix texcoords from constants
with some minor updates from Richard.
Alex Deucher [Fri, 11 Sep 2009 16:10:15 +0000 (12:10 -0400)]
Revert "r600: support tex coords from constants"
This reverts commit
4099bb76148007f9ccb6c86838b2bf37ea42de56.
Tex coord src has to be a GPR.
Cooper Yuan [Fri, 11 Sep 2009 15:21:28 +0000 (23:21 +0800)]
r300g: only allocate one BO for vertex buffers, default size is 64*1024
it can fix redbook/sceneflat, scene, scenebamb, surface, nurbs and so on
Alex Deucher [Fri, 11 Sep 2009 15:07:58 +0000 (11:07 -0400)]
r600: support tex coords from constants
Fixes neverball among other things.
Andre Maasikas [Fri, 11 Sep 2009 14:59:05 +0000 (10:59 -0400)]
r600: enable caching of vertex programs
José Fonseca [Fri, 11 Sep 2009 10:29:24 +0000 (11:29 +0100)]
llvmpipe: set dirty_render_cache in llvmpipe_clear()
Based on Brian's softpipe change on
commit
988db641195819c948249a1bb2d59f13577a482f. We don't use the tile
cache for zsbuf though, only for color buffers.
José Fonseca [Fri, 11 Sep 2009 10:24:00 +0000 (11:24 +0100)]
llvmpipe: Update status in README and TODO/FIXME comments throughout the code.
Eric Anholt [Thu, 10 Sep 2009 16:44:30 +0000 (09:44 -0700)]
i965: Enable loops in the VS.
Passes piglit glsl-vs-loop testcase.
Bug #20171
Brian Paul [Fri, 11 Sep 2009 01:56:35 +0000 (19:56 -0600)]
mesa: nicer vertex setup
Brian Paul [Fri, 11 Sep 2009 01:40:53 +0000 (19:40 -0600)]
st/mesa: use st_context() helper
Brian Paul [Thu, 10 Sep 2009 22:51:52 +0000 (16:51 -0600)]
softpipe: remove no-op softpipe_init_texture_funcs() function
Brian Paul [Thu, 10 Sep 2009 22:50:18 +0000 (16:50 -0600)]
softpipe: remove unused #includes, move comment
Brian Paul [Thu, 10 Sep 2009 22:45:25 +0000 (16:45 -0600)]
util: remove unneeded #includes
Brian Paul [Thu, 10 Sep 2009 22:42:47 +0000 (16:42 -0600)]
softpipe: reformatting, clean-ups, comments
Brian Paul [Thu, 10 Sep 2009 22:39:13 +0000 (16:39 -0600)]
util: minor clean-ups, reformatting
Brian Paul [Thu, 10 Sep 2009 22:38:51 +0000 (16:38 -0600)]
softpipe: remove unneeded #includes
Brian Paul [Thu, 10 Sep 2009 21:41:52 +0000 (15:41 -0600)]
Merge branch 'mesa_7_6_branch'
Zack Rusin [Wed, 9 Sep 2009 21:38:13 +0000 (17:38 -0400)]
st/xorg: rename ctx to pipe to match every other gallium state tracker
plus it avoids the "ctx->ctx->" syntax
Brian Paul [Thu, 10 Sep 2009 21:40:26 +0000 (15:40 -0600)]
Merge branch 'mesa_7_5_branch' into mesa_7_6_branch
Brian Paul [Thu, 10 Sep 2009 21:34:34 +0000 (15:34 -0600)]
intel: disable intel_stencil_drawpixels() for now
It doesn't work reliably even when all the prerequisite checks are made.
Zack Rusin [Wed, 9 Sep 2009 21:16:02 +0000 (17:16 -0400)]
st/xorg: temporarily disablie copies
Zack Rusin [Wed, 9 Sep 2009 21:14:21 +0000 (17:14 -0400)]
st/xorg: implement pipelines surface/texture copies
Zack Rusin [Wed, 9 Sep 2009 20:08:00 +0000 (16:08 -0400)]
st/xorg: unite finalization and stub out pipelined copies
Zack Rusin [Wed, 9 Sep 2009 19:43:09 +0000 (15:43 -0400)]
st/xorg: abstract flushing and syncing for the exa code
Zack Rusin [Wed, 9 Sep 2009 15:35:34 +0000 (11:35 -0400)]
st/xorg: disable solid fills until copies are accelerated as well
Zack Rusin [Wed, 9 Sep 2009 15:33:33 +0000 (11:33 -0400)]
st/xorg: implement exasolids with full pipelining
plus fix some small issues with the shaders
Zack Rusin [Wed, 9 Sep 2009 09:34:56 +0000 (05:34 -0400)]
st/xorg: start adding support for surface fills
Brian Paul [Thu, 10 Sep 2009 20:15:07 +0000 (14:15 -0600)]
docs: document Gallium glDrawPixels(GL_STENCIL_INDEX) fix
Brian Paul [Thu, 10 Sep 2009 20:14:18 +0000 (14:14 -0600)]
softpipe: minor indentation fix
Brian Paul [Thu, 10 Sep 2009 20:11:36 +0000 (14:11 -0600)]
softpipe: set dirty_render_cache in softpipe_clear()
This fixes a bug seen when doing a glDrawPixels(GL_STENCIL_INDEX) right
after a glClear(). The check-for-flush test was failing because we
didn't set the dirty_render_cache flag in softpipe_clear(). So we saw
stale data when we mapped the stencil buffer.
Marcin Kościelnicki [Thu, 10 Sep 2009 18:26:42 +0000 (18:26 +0000)]
nv50: Fix tiling mode for lower mipmap levels.
Brian Paul [Thu, 10 Sep 2009 18:50:08 +0000 (12:50 -0600)]
docs: initial 7.5.2 release notes page
Ian Romanick [Thu, 10 Sep 2009 18:44:53 +0000 (11:44 -0700)]
Fix merge fail
One of the conflicst from this merge was missed:
commit
0c309bb494b6ee1c403442d1207743f749f95b6e
Merge:
c6c44bf d27d659
Author: Brian Paul <brianp@vmware.com>
Date: Wed Sep 9 08:33:39 2009 -0600
Brian Paul [Thu, 10 Sep 2009 18:44:28 +0000 (12:44 -0600)]
tgsi: use new tgsi_call_record to handle execution mask stacks
This fixes some issues when "return"ing from nested loops/conditionals.
Brian Paul [Thu, 10 Sep 2009 16:17:07 +0000 (10:17 -0600)]
mesa: need to set all stencil bits to 0 before setting the 1 bits
Plus, check for pixel transfer stencil index/offset.
Ian Romanick [Thu, 10 Sep 2009 18:24:56 +0000 (11:24 -0700)]
Merge branch 'mesa_7_5_branch' into mesa_7_6_branch
Conflicts:
src/mesa/drivers/dri/intel/intel_context.c
Eric Anholt [Wed, 9 Sep 2009 19:35:30 +0000 (12:35 -0700)]
i965: Fix relocation delta for WM surfaces.
This was a regression in
0f328c90dbc893e15005f2ab441d309c1c176245.
Bug #23688
Bug #23254
(cherry picked from commit
5604b27b9326ac542069a49ed9650c4b0d3e939a)
Zhenyu Wang [Mon, 7 Sep 2009 08:18:57 +0000 (16:18 +0800)]
intel: add B43 chipset support
Signed-off-by: Zhenyu Wang <zhenyuw@linux.intel.com>
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Hopefully this will be one of the last cherry-picks.
(cherry picked from commit
ca246dd186f9590f6d67038832faceb522138c20)
Eric Anholt [Thu, 10 Sep 2009 16:26:38 +0000 (09:26 -0700)]
intel: Don't forget to map the depth read buffer in spans.
This broke BlitFramebufferEXT(GL_DEPTH_BUFFER_BIT).
Alex Deucher [Thu, 10 Sep 2009 16:04:38 +0000 (12:04 -0400)]
r300: enable rb3d_discard_src_pixel_lte_threshold for more chips on dri2