Brian Paul [Wed, 16 Sep 2009 00:16:59 +0000 (18:16 -0600)]
mesa: move generate mipmap calls
Per the suggestion in the Intel driver, move the calls to
ctx->Driver.GenerateMipmap() into core Mesa so that drivers don't
have to worry about it.
Brian Paul [Wed, 16 Sep 2009 00:09:03 +0000 (18:09 -0600)]
mesa: minor clean-up
Brian Paul [Tue, 15 Sep 2009 23:41:40 +0000 (17:41 -0600)]
mesa: remove last of gotos
Brian Paul [Tue, 15 Sep 2009 23:36:35 +0000 (17:36 -0600)]
mesa: more goto removal
Brian Paul [Tue, 15 Sep 2009 23:32:01 +0000 (17:32 -0600)]
mesa: remove some gotos
This will make some subsequent changes easier...
Brian Paul [Tue, 15 Sep 2009 23:20:32 +0000 (17:20 -0600)]
mesa: clean-up fbo debug code
Brian Paul [Tue, 15 Sep 2009 23:13:49 +0000 (17:13 -0600)]
progs/demos: use non-default texobj in cubemap.c
Brian Paul [Tue, 15 Sep 2009 23:08:33 +0000 (17:08 -0600)]
progs/demos: create a texture object in lodbias.c
Before, we were using the default texture object (name=0). This caused
the intel_generate_mipmap() path to fail since passing texture=0 to
glFramebufferTexture2DEXT() causes us to _unbind_ the texture if present.
Zack Rusin [Tue, 15 Sep 2009 15:01:21 +0000 (11:01 -0400)]
st/xorg: fixing copies and composite shaders
copies were busted when src == dst. also the composite shaders
were incorrectly using the fragments instead of the texture coordinate.
Zack Rusin [Tue, 15 Sep 2009 13:02:20 +0000 (09:02 -0400)]
st/xorg: lots of fixes
fixes blending binding and copy coordinates
Brian Paul [Tue, 15 Sep 2009 22:01:33 +0000 (16:01 -0600)]
docs: GL_ARB_provoking_vertex
Brian Paul [Tue, 15 Sep 2009 22:01:22 +0000 (16:01 -0600)]
mesa: added GL_ARB_provoking_vertex (same as EXT version)
Alex Deucher [Tue, 15 Sep 2009 21:12:03 +0000 (17:12 -0400)]
radeon: don't build non-r600 span code on r600
Alex Deucher [Tue, 15 Sep 2009 20:58:37 +0000 (16:58 -0400)]
r600: minor span cleanups
Ian Romanick [Tue, 15 Sep 2009 20:14:38 +0000 (13:14 -0700)]
Merge branch 'mesa_7_6_branch'
Ian Romanick [Tue, 15 Sep 2009 20:13:35 +0000 (13:13 -0700)]
Merge commit 'origin/mesa_7_5_branch' into mesa_7_6_branch
Ian Romanick [Tue, 15 Sep 2009 20:12:22 +0000 (13:12 -0700)]
GLX: Complain when buggy applications call GLX 1.3 functions.
Zack Rusin [Tue, 15 Sep 2009 10:00:52 +0000 (06:00 -0400)]
st/xorg: Brian suggested that those could be mad's
optimizes the common paths
Brian Paul [Tue, 15 Sep 2009 18:35:41 +0000 (12:35 -0600)]
mesa: remove incorrect texture state check
Fixes incorrectly textured bitmap text in engine demo.
It's incorrect to test the texture enable bits here since they may have
been changed by disabling the shader above. Optimization is still possible
but will have to be reexamined.
Maarten Maathuis [Mon, 14 Sep 2009 18:21:56 +0000 (20:21 +0200)]
nv50: avoid excessive FIRE_RING
- And reduce RING_SPACE to 2, instead of 3.
Maarten Maathuis [Mon, 14 Sep 2009 17:42:53 +0000 (19:42 +0200)]
nv50: use flush_notify to reduce number of relocs
Michel Dänzer [Tue, 15 Sep 2009 16:31:07 +0000 (18:31 +0200)]
st/xorg: Only unreference texture on pixmap destruction, don't destroy it.
Fixes memory corruption if e.g. the driver still has references to the texture.
Michel Dänzer [Tue, 15 Sep 2009 16:30:58 +0000 (18:30 +0200)]
st/xorg: Explicitly check whether the driver supports the pixmap formats.
Rather than arbitrarily checking for pixmap depth < 15.
Michel Dänzer [Tue, 15 Sep 2009 16:23:00 +0000 (18:23 +0200)]
st/xorg: Use A8 format for depth 8 pixmaps.
The inconsistent bpp caused issues with UploadTo/DownloadFromScreen.
Brian Paul [Tue, 15 Sep 2009 15:52:27 +0000 (09:52 -0600)]
st/mesa: disable accidentally committed _mesa_print_program() call
Brian Paul [Tue, 15 Sep 2009 15:47:35 +0000 (09:47 -0600)]
Merge branch 'mesa_7_6_branch'
Brian Paul [Tue, 15 Sep 2009 15:45:18 +0000 (09:45 -0600)]
Merge branch 'mesa_7_5_branch' into mesa_7_6_branch
Brian Paul [Mon, 14 Sep 2009 23:34:40 +0000 (17:34 -0600)]
ARB prog parser: regenerated file
Brian Paul [Mon, 14 Sep 2009 23:34:09 +0000 (17:34 -0600)]
ARB prog parser: more detailed error message for out of bounds ADDR offsets
Brian Paul [Tue, 15 Sep 2009 15:36:31 +0000 (09:36 -0600)]
gl: restore some PFNGL typedefs
Commit
d33c315d9e32584dea12cea683795b498a9f5eca removed a few too many
typedefs. We need the typedefs in glext.h which are protected by #ifdef
GL_VERSION_1_2 but we can exclude the ones protected by
GL_VERSION_1_2_DEPRECATED.
Andre Maasikas [Tue, 15 Sep 2009 15:27:51 +0000 (11:27 -0400)]
r600: support position_invariant programs
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.
Brian Paul [Mon, 14 Sep 2009 23:48:17 +0000 (17:48 -0600)]
progs/vp: print program and error info when program does not compile
Brian Paul [Mon, 14 Sep 2009 23:32:03 +0000 (17:32 -0600)]
glsl: added some link debug code (disabled)
Brian Paul [Mon, 14 Sep 2009 23:27:47 +0000 (17:27 -0600)]
docs: document linker/preprocessor bug fix
Brian Paul [Mon, 14 Sep 2009 23:24:25 +0000 (17:24 -0600)]
glsl: remove extra #version directives from concatenated shader sources
When we concatenate shaders to do our form of poor-man linking, if there's
multiple #version directives, preprocessing fails. This change disables
the extra #version directives by changing the first two chars to //.
This should help with some Wine issues such as bug 23946.
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
Vinson Lee [Mon, 14 Sep 2009 17:50:48 +0000 (11:50 -0600)]
gallium: Add Mac OS to pipe/p_thread.h.
Mac OS also has POSIX threads.
Thierry Vignaud [Mon, 14 Sep 2009 17:48:51 +0000 (11:48 -0600)]
configure: fix comment
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
Dan Nicholson [Sat, 12 Sep 2009 16:27:01 +0000 (09:27 -0700)]
Use CFLAGS as HOST_CFLAGS by default
Unless we're cross compiling, the HOST_CFLAGS should be the same as the
normal CFLAGS. This allows the x86 and x86_64 asm to be built correctly
with a native compiler using -m32/-m64.
Signed-off-by: Dan Nicholson <dbn.lists@gmail.com>
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.
Brian Paul [Fri, 11 Sep 2009 19:43:51 +0000 (13:43 -0600)]
docs: mention the new Gallium llvmpipe driver