mesa.git
14 years agomesa: Attempt to pair up Driver.RenderTexture and FinishRenderTexture()
Eric Anholt [Wed, 4 Nov 2009 22:31:30 +0000 (14:31 -0800)]
mesa: Attempt to pair up Driver.RenderTexture and FinishRenderTexture()

This is probably not 100% complete (bind vs unbind may still not pair up
exactly), but it should help out drivers which are relying on
FinishRenderTexture to be called when we're done rendering to a particular
texture level, not just when we're done rendering to the object at all.
This is the case for the one consumer of FinishRenderTexture() so far: the
gallium state tracker.  Noticed when trying to make use of FRT() in the intel
driver.

14 years agointel: Clean up some extra struct indirection in finalize.
Eric Anholt [Wed, 4 Nov 2009 23:11:02 +0000 (15:11 -0800)]
intel: Clean up some extra struct indirection in finalize.

14 years agointel: Use _mesa_get_current_tex_object() to clean up TFP path.
Eric Anholt [Thu, 5 Nov 2009 00:49:05 +0000 (16:49 -0800)]
intel: Use _mesa_get_current_tex_object() to clean up TFP path.

14 years agointel: Remove duplicated arguments from intel_miptree_match_image().
Eric Anholt [Wed, 4 Nov 2009 21:41:48 +0000 (13:41 -0800)]
intel: Remove duplicated arguments from intel_miptree_match_image().

14 years agoi965: Remove an XXX comment for testing some code that seems to work.
Eric Anholt [Wed, 4 Nov 2009 01:40:13 +0000 (17:40 -0800)]
i965: Remove an XXX comment for testing some code that seems to work.

14 years agointel: Remove obsolete comment about GEM in the spans code.
Eric Anholt [Wed, 4 Nov 2009 01:30:46 +0000 (17:30 -0800)]
intel: Remove obsolete comment about GEM in the spans code.

14 years agointel: Use PIPE_CONTROL on gen4 hardware for doing pipeline flushing.
Eric Anholt [Wed, 4 Nov 2009 01:18:36 +0000 (17:18 -0800)]
intel: Use PIPE_CONTROL on gen4 hardware for doing pipeline flushing.

This should do all the things that MI_FLUSH did, but it can be pipelined
so that further rendering isn't blocked on the flush completion unless
necessary.

14 years agoMake a convenient int for what chipset generation we're on.
Eric Anholt [Mon, 26 Oct 2009 16:28:32 +0000 (09:28 -0700)]
Make a convenient int for what chipset generation we're on.

gen2/3/4 are easier to say than "8xx, 915-945/g33/pineview, 965/g45/misc",
and compares on generation are often easier than stringing together a bunch
of chipset checks.

14 years agoMerge branch 'mesa_7_6_branch'
Ian Romanick [Fri, 6 Nov 2009 19:17:00 +0000 (11:17 -0800)]
Merge branch 'mesa_7_6_branch'

This should fix the memory leaks in the assembly parser without the
regressions.

The conflicts in program_lexer.l were related to changes in returning
strings between the branches (always return IDENTIFIER vs. returing
either IDENTIFIER or USED_IDENTIFIER).

The conflicts in program_parse.y were related to two changes in master
One change prints a variable name in an error message.  The other
change adds outputVarSize to the OUTPUT_statement rule.  The cause the
position of the IDENTIFIER to change from $2 to $3.

Conflicts:
src/mesa/shader/lex.yy.c
src/mesa/shader/program_lexer.l
src/mesa/shader/program_parse.tab.c
src/mesa/shader/program_parse.y

14 years agoARB prog parser: Regenerate parser from previous commits.
Ian Romanick [Thu, 5 Nov 2009 22:20:16 +0000 (14:20 -0800)]
ARB prog parser: Regenerate parser from previous commits.

14 years agoARB prog parser: Release old program string in _mesa_parse_arb_{fragment,vertex}_program
Ian Romanick [Thu, 5 Nov 2009 22:17:07 +0000 (14:17 -0800)]
ARB prog parser: Release old program string in _mesa_parse_arb_{fragment,vertex}_program

The program structure passed to _mesa_parse_arb_program is just a
place holder.  The stings that actually need to be released are only
known to the functions calling _mesa_parse_arb_program, so they should
be freed there.

14 years agoARB prog parser: Release strings returned from the lexer that don't need to be kept
Ian Romanick [Thu, 5 Nov 2009 22:15:56 +0000 (14:15 -0800)]
ARB prog parser: Release strings returned from the lexer that don't need to be kept

14 years agoRevert "ARB prog parser: Fix epic memory leak in lexer / parser interface"
Ian Romanick [Wed, 4 Nov 2009 20:03:44 +0000 (12:03 -0800)]
Revert "ARB prog parser: Fix epic memory leak in lexer / parser interface"

This reverts commit 93dae6761bc90bbd43b450d2673620ec189b2c7a.

This change was completely broken when the parser uses multiple
strings in a single production.  It would be nice if bug fixes could
initially land somewhere other than the stable branch.

14 years agollvmpipe: Fix build with llvm 2.6.
José Fonseca [Fri, 6 Nov 2009 15:08:05 +0000 (15:08 +0000)]
llvmpipe: Fix build with llvm 2.6.

Fixes bug 24949.

14 years agointel: call intel_check_front_buffer_rendering() in intelClear()
Brian Paul [Fri, 6 Nov 2009 14:59:18 +0000 (07:59 -0700)]
intel: call intel_check_front_buffer_rendering() in intelClear()

fixes bug 24953.

14 years agomesa: Export S3_s3tc as well.
José Fonseca [Fri, 6 Nov 2009 12:05:43 +0000 (12:05 +0000)]
mesa: Export S3_s3tc as well.

Used in Quake3.

14 years agomesa: Translate MAP_UNSYNCHRONIZED_BIT.
José Fonseca [Fri, 6 Nov 2009 12:04:49 +0000 (12:04 +0000)]
mesa: Translate MAP_UNSYNCHRONIZED_BIT.

14 years agogallium: Add UNSYNCHRONIZED cpu access flag. Document others.
José Fonseca [Fri, 6 Nov 2009 12:04:20 +0000 (12:04 +0000)]
gallium: Add UNSYNCHRONIZED cpu access flag. Document others.

14 years agost/xorg: unify vertex buffer handling
Zack Rusin [Fri, 6 Nov 2009 05:17:43 +0000 (00:17 -0500)]
st/xorg: unify vertex buffer handling

first step on our way to batching

14 years agoxmesa: pass pixmap to clip_for_xgetimage()
Brian Paul [Thu, 5 Nov 2009 23:48:50 +0000 (16:48 -0700)]
xmesa: pass pixmap to clip_for_xgetimage()

The code was assuming ctx->DrawBuffer == ctx->ReadBuffer.
Passing the pixmap is simpler and better.
Fixes a potential segfault.

14 years agomesa: fix infinite loop bug in _mesa_drawbuffers()
Brian Paul [Thu, 5 Nov 2009 20:16:19 +0000 (13:16 -0700)]
mesa: fix infinite loop bug in _mesa_drawbuffers()

Fixes bug 24946.
This regression came from 8df699b3bb1aa05b633f05b121d09d812c86a22d.

14 years agosoftpipe: Implement PIPE_BLENDFACTOR_SRC_ALPHA_SATURATE for destination.
José Fonseca [Thu, 5 Nov 2009 17:05:20 +0000 (17:05 +0000)]
softpipe: Implement PIPE_BLENDFACTOR_SRC_ALPHA_SATURATE for destination.

It is a valid and tested combination on D3D9.

14 years agog3dvl: remove a debug line
Cooper Yuan [Thu, 5 Nov 2009 08:06:01 +0000 (16:06 +0800)]
g3dvl: remove a debug line

14 years agog3dvl: add scissor setting
Cooper Yuan [Thu, 5 Nov 2009 07:59:27 +0000 (15:59 +0800)]
g3dvl: add scissor setting

14 years agor300g: add polygon mode
Marek Olšák [Wed, 4 Nov 2009 09:56:44 +0000 (10:56 +0100)]
r300g: add polygon mode

Signed-off-by: Corbin Simpson <MostAwesomeDude@gmail.com>
14 years agor300g: fix the size of CS when emitting the fragprog constant buffer
Marek Olšák [Tue, 3 Nov 2009 15:58:39 +0000 (16:58 +0100)]
r300g: fix the size of CS when emitting the fragprog constant buffer

Signed-off-by: Corbin Simpson <MostAwesomeDude@gmail.com>
14 years agor300g: set the correct offset in a colorbuffer surface
Marek Olšák [Tue, 3 Nov 2009 15:50:09 +0000 (16:50 +0100)]
r300g: set the correct offset in a colorbuffer surface

Suggested by Joakim Sindholt.

Also, put flushing of colorbuffers _before_ the framebuffer state setup,
suggested by docs.

Signed-off-by: Corbin Simpson <MostAwesomeDude@gmail.com>
14 years agor300g: add color channel masking
Marek Olšák [Tue, 3 Nov 2009 15:48:48 +0000 (16:48 +0100)]
r300g: add color channel masking

Signed-off-by: Corbin Simpson <MostAwesomeDude@gmail.com>
14 years agomesa: added cast to silence warning
Brian Paul [Thu, 5 Nov 2009 00:58:43 +0000 (17:58 -0700)]
mesa: added cast to silence warning

14 years agoMerge branch 'mesa_7_6_branch'
Brian Paul [Thu, 5 Nov 2009 00:57:20 +0000 (17:57 -0700)]
Merge branch 'mesa_7_6_branch'

Conflicts:

src/mesa/drivers/windows/gdi/mesa.def

14 years agovbo: fix out-of-bounds array access
Brian Paul [Thu, 5 Nov 2009 00:51:21 +0000 (17:51 -0700)]
vbo: fix out-of-bounds array access

The exec->vtx.inputs[] array was being written past its end.  This was
clobbering the following vbo_exec_context::eval state.  Probably not noticed
since evaluators and immediate mode rendering don't happen at the same time.

Fixed the loop in vbo_exec_vtx_init().
Changed the size of the vbo_exec_context::vtx.arrays[] array.
Added a bunch of debug-build assertions.

Issue found by Vinson Lee.

14 years agomesa: fix broken pack_histogram() case for GLhalf
Brian Paul [Thu, 5 Nov 2009 00:42:30 +0000 (17:42 -0700)]
mesa: fix broken pack_histogram() case for GLhalf

14 years agomesa: silence warning from gcc 4.4.1
Brian Paul [Thu, 5 Nov 2009 00:42:01 +0000 (17:42 -0700)]
mesa: silence warning from gcc 4.4.1

14 years agoARB prog parser: include variable name in error text
Brian Paul [Thu, 5 Nov 2009 00:26:48 +0000 (17:26 -0700)]
ARB prog parser: include variable name in error text

14 years agost/xorg: these flushes shouldn't be necessary
Zack Rusin [Wed, 4 Nov 2009 23:08:44 +0000 (18:08 -0500)]
st/xorg: these flushes shouldn't be necessary

performance optimization

14 years agoprogs/tests: Fix MSVC build.
Vinson Lee [Wed, 4 Nov 2009 22:55:39 +0000 (15:55 -0700)]
progs/tests: Fix MSVC build.

Signed-off-by: Brian Paul <brianp@vmware.com>
14 years agor600: rework draw functions
Alex Deucher [Wed, 4 Nov 2009 21:59:13 +0000 (16:59 -0500)]
r600: rework draw functions

Seems INDX_OFFSET doesn't work properly on some cards,
so change back to immediate mode indices.  Seems to only
affect DRI1.  Needs more investigation.

Rework and clean up the draw functions.

Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
14 years agor600: fix count prediction for IB case
Alex Deucher [Wed, 4 Nov 2009 19:43:24 +0000 (14:43 -0500)]
r600: fix count prediction for IB case

Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
14 years agoFix YTILE spantmp functions
Alan Hourihane [Wed, 4 Nov 2009 14:48:25 +0000 (14:48 +0000)]
Fix YTILE spantmp functions

14 years agoFix YTILE spantmp functions
Alan Hourihane [Wed, 4 Nov 2009 14:48:25 +0000 (14:48 +0000)]
Fix YTILE spantmp functions

14 years agoglslcompiler: Fix Mac OS build.
Vinson Lee [Wed, 4 Nov 2009 14:14:55 +0000 (07:14 -0700)]
glslcompiler: Fix Mac OS build.

Signed-off-by: Brian Paul <brianp@vmware.com>
14 years agoutil: Remove homegrown Windows KM profiler.
José Fonseca [Tue, 3 Nov 2009 19:47:51 +0000 (19:47 +0000)]
util: Remove homegrown Windows KM profiler.

It's not sampling based so its results are biased towards functions called
many times.

14 years agotgsi/ureg: Allow for multiple extended instruction tokens.
Michal Krol [Wed, 4 Nov 2009 11:47:10 +0000 (11:47 +0000)]
tgsi/ureg: Allow for multiple extended instruction tokens.

For example, we would like to have a predicate and texture token
in one instruction to do predicated texture sampling.

14 years agonv50: fix shader emit_tex for cube textures
Christoph Bumiller [Tue, 3 Nov 2009 22:30:18 +0000 (23:30 +0100)]
nv50: fix shader emit_tex for cube textures

14 years agonv50: add abs-modifier for emit_minmax
Christoph Bumiller [Tue, 3 Nov 2009 21:09:32 +0000 (22:09 +0100)]
nv50: add abs-modifier for emit_minmax

14 years agonv50: add 3d texture tiling and mip-mapping
Christoph Bumiller [Tue, 3 Nov 2009 22:19:56 +0000 (23:19 +0100)]
nv50: add 3d texture tiling and mip-mapping

Mip-mapped 3D textures are not arrays of 2D layers
with a mip-map layout like 2D textures, therefore we
cannot use image_nr == depth for them.

Making use of "volume tiling" modes now, the allowed
modes are 0xZY where Z <= 5 and y <= 5.

14 years agomesa: (GLint64) casts in get.c to silence Visual Studio warnings
Brian Paul [Tue, 3 Nov 2009 23:13:22 +0000 (16:13 -0700)]
mesa: (GLint64) casts in get.c to silence Visual Studio warnings

Revised version of a patch from Karl Schultz.

14 years agodocs: fix 7.6 build with Visual Studio
Brian Paul [Tue, 3 Nov 2009 23:12:02 +0000 (16:12 -0700)]
docs: fix 7.6 build with Visual Studio

14 years agowindows: updated VC8 project file
Karl Schultz [Tue, 3 Nov 2009 23:09:26 +0000 (16:09 -0700)]
windows: updated VC8 project file

Signed-off-by: Brian Paul <brianp@vmware.com>
14 years agowindows: remove old entrypoints from mesa.def file
Karl Schultz [Tue, 3 Nov 2009 23:07:01 +0000 (16:07 -0700)]
windows: remove old entrypoints from mesa.def file

Signed-off-by: Brian Paul <brianp@vmware.com>
14 years agomesa: added GLAPIENTRY keywords for sync object functions
Karl Schultz [Tue, 3 Nov 2009 23:05:12 +0000 (16:05 -0700)]
mesa: added GLAPIENTRY keywords for sync object functions

Signed-off-by: Brian Paul <brianp@vmware.com>
14 years agoprogs/util: Fix memory leak if fail to load/compile shader
Vinson Lee [Tue, 3 Nov 2009 21:41:08 +0000 (14:41 -0700)]
progs/util: Fix memory leak if fail to load/compile shader

Signed-off-by: Brian Paul <brianp@vmware.com>
14 years agollvmpipe: Sanitise shader semantic and interpolator handling.
Michal Krol [Fri, 30 Oct 2009 08:27:17 +0000 (08:27 +0000)]
llvmpipe: Sanitise shader semantic and interpolator handling.

Handle the remaining semantic names and indices.
Respect color interpolator when not flatshading.

Based on Michal's softpipe commit
eb699d64ec7057032139baccedcb0694ca41d706.

14 years agollvmpipe: remove old prim_setup draw stage
Keith Whitwell [Sun, 23 Aug 2009 10:22:41 +0000 (11:22 +0100)]
llvmpipe: remove old prim_setup draw stage

Everything now goes through the draw_vbuf handler, the same as
regular drivers.

Based on Keith's commit 4fe0fc3eba1f79beda890a5016359d549bab6ad4.

14 years agollvmpipe: Respect gl_rasterization_rules in primitive setup.
José Fonseca [Tue, 3 Nov 2009 13:10:58 +0000 (13:10 +0000)]
llvmpipe: Respect gl_rasterization_rules in primitive setup.

Based on Michal's identical commit for softpipe
(ca9c413647bf9efb5ed770e3a655bc758075aec7).

14 years agopython/retrace: Cope with null constant buffers.
José Fonseca [Mon, 2 Nov 2009 09:47:47 +0000 (09:47 +0000)]
python/retrace: Cope with null constant buffers.

14 years agopython/retrace: Add missing colon.
José Fonseca [Mon, 2 Nov 2009 09:47:24 +0000 (09:47 +0000)]
python/retrace: Add missing colon.

14 years agoprogs/tests: debug code for getting texture component sizes
Brian Paul [Tue, 3 Nov 2009 17:01:10 +0000 (10:01 -0700)]
progs/tests: debug code for getting texture component sizes

14 years agotgsi: Up tgsi_exec's control flow nesting to 32.
Michal Krol [Tue, 3 Nov 2009 09:55:28 +0000 (09:55 +0000)]
tgsi: Up tgsi_exec's control flow nesting to 32.

14 years agoMerge branch 'mesa_7_6_branch'
Brian Paul [Tue, 3 Nov 2009 16:54:09 +0000 (09:54 -0700)]
Merge branch 'mesa_7_6_branch'

14 years agomesa: clean-up, remove some flushing in FBO functions
Brian Paul [Mon, 2 Nov 2009 22:39:39 +0000 (15:39 -0700)]
mesa: clean-up, remove some flushing in FBO functions

Remove some unneeded flushes.
Replace FLUSH_CURRENT w/ FLUSH_VERTICES in other places.

14 years agomesa: fix indentation
Brian Paul [Mon, 2 Nov 2009 22:30:51 +0000 (15:30 -0700)]
mesa: fix indentation

14 years agomesa: clean-up formatting
Brian Paul [Mon, 2 Nov 2009 22:29:54 +0000 (15:29 -0700)]
mesa: clean-up formatting

14 years agomesa: avoid extraneous _NEW_BUFFER changes in _mesa_BindFramebufferEXT()
Brian Paul [Mon, 2 Nov 2009 22:29:03 +0000 (15:29 -0700)]
mesa: avoid extraneous _NEW_BUFFER changes in _mesa_BindFramebufferEXT()

14 years agomesa: use FLUSH_VERTICES() in _mesa_drawbuffers()
Brian Paul [Mon, 2 Nov 2009 22:27:57 +0000 (15:27 -0700)]
mesa: use FLUSH_VERTICES() in _mesa_drawbuffers()

14 years agomesa: avoid extraneous _NEW_BUFFER state in _mesa_drawbuffers()
Brian Paul [Mon, 2 Nov 2009 21:41:17 +0000 (14:41 -0700)]
mesa: avoid extraneous _NEW_BUFFER state in _mesa_drawbuffers()

14 years agomesa: use ffs() to shorten loop in _mesa_drawbuffers()
Brian Paul [Mon, 2 Nov 2009 20:20:19 +0000 (13:20 -0700)]
mesa: use ffs() to shorten loop in _mesa_drawbuffers()

14 years agomesa: added assertion, another comment
Brian Paul [Mon, 2 Nov 2009 19:58:51 +0000 (12:58 -0700)]
mesa: added assertion, another comment

14 years agointel: avoid unnecessary front buffer flushing/updating
Brian Paul [Mon, 2 Nov 2009 19:40:04 +0000 (12:40 -0700)]
intel: avoid unnecessary front buffer flushing/updating

Before, if we just called glXMakeCurrent() and didn't render anything we'd
still trigger a flushFrontBuffer() call.

Now only set the intel->front_buffer_dirty field at state validation time
just before we draw something.

NOTE: additional calls to intel_check_front_buffer_rendering() might be
needed if I missed some rendering paths.

14 years agost/mesa: clip pixels in draw_stencil_pixels to avoid crash
Marek Olšák [Tue, 3 Nov 2009 15:16:05 +0000 (16:16 +0100)]
st/mesa: clip pixels in draw_stencil_pixels to avoid crash

Signed-off-by: Brian Paul <brianp@vmware.com>
14 years agost/mesa: don't use util_blit_pixels_writemask() for depth or depth/stencil
Brian Paul [Tue, 3 Nov 2009 16:30:20 +0000 (09:30 -0700)]
st/mesa: don't use util_blit_pixels_writemask() for depth or depth/stencil

util_blit_pixels_writemask() only works for color formats at this time.
Also, it might never work for depth/stencil surfaces since we can't get
handle stencil values in a fragment shader.

Fixes glCopyTexSubImage(GL_DEPTH_COMPONENT).

14 years agost/mesa: fix tests for depth and depth/stencil texture formats
Brian Paul [Tue, 3 Nov 2009 16:26:32 +0000 (09:26 -0700)]
st/mesa: fix tests for depth and depth/stencil texture formats

14 years agomesa: added comment
Brian Paul [Sat, 31 Oct 2009 14:08:19 +0000 (08:08 -0600)]
mesa: added comment

14 years agomesa: use _mesa_get_current_tex_object()
Brian Paul [Sat, 31 Oct 2009 14:08:05 +0000 (08:08 -0600)]
mesa: use _mesa_get_current_tex_object()

14 years agomesa: use _mesa_get_current_tex_object()
Brian Paul [Sat, 31 Oct 2009 14:07:46 +0000 (08:07 -0600)]
mesa: use _mesa_get_current_tex_object()

14 years agomesa: make _mesa_get_current_tex_objec() public
Brian Paul [Sat, 31 Oct 2009 14:07:23 +0000 (08:07 -0600)]
mesa: make _mesa_get_current_tex_objec() public

14 years agoARB prog parser: Fix a couple issues with previous merge from mesa_7_6_branch
Ian Romanick [Mon, 2 Nov 2009 20:44:14 +0000 (12:44 -0800)]
ARB prog parser: Fix a couple issues with previous merge from mesa_7_6_branch

Since the addition of support for Nvidia condition codes, the lexer internally
uses handle_ident to select between returning IDENTIFIER and USED_IDENTIFIER.
Also, use return_string instead of strdup.

Fixes bug #24809.

14 years agoglx: Fix memory leak if XF86DRICreateDrawable() fails
Vinson Lee [Mon, 2 Nov 2009 19:35:47 +0000 (12:35 -0700)]
glx: Fix memory leak if XF86DRICreateDrawable() fails

Signed-off-by: Brian Paul <brianp@vmware.com>
14 years agor600: implement LOG op in compiler
Pierre Ossman [Sun, 1 Nov 2009 21:28:02 +0000 (22:28 +0100)]
r600: implement LOG op in compiler

14 years agor600: implement EXP op in compiler
Pierre Ossman [Sun, 1 Nov 2009 20:38:48 +0000 (21:38 +0100)]
r600: implement EXP op in compiler

14 years agotgsi/ureg: Add negate and swizzle for predicates.
Michal Krol [Mon, 2 Nov 2009 14:59:52 +0000 (14:59 +0000)]
tgsi/ureg: Add negate and swizzle for predicates.

14 years agomesa: fix incorrect approx bits/channel for fxt1 formats
Brian Paul [Mon, 2 Nov 2009 13:52:05 +0000 (06:52 -0700)]
mesa: fix incorrect approx bits/channel for fxt1 formats

See bug 24806.

14 years agogallium/util: add casts to silence warnings
Brian Paul [Mon, 2 Nov 2009 13:51:47 +0000 (06:51 -0700)]
gallium/util: add casts to silence warnings

14 years agotgsi/ureg: Update for gallium interface changes.
Michal Krol [Mon, 2 Nov 2009 09:42:28 +0000 (09:42 +0000)]
tgsi/ureg: Update for gallium interface changes.

14 years agotgsi: Update for gallium interface changes.
Michal Krol [Mon, 2 Nov 2009 09:41:40 +0000 (09:41 +0000)]
tgsi: Update for gallium interface changes.

14 years agogallium: Cleanup predicate and condition code TGSI tokens.
Michal Krol [Sat, 31 Oct 2009 09:09:26 +0000 (09:09 +0000)]
gallium: Cleanup predicate and condition code TGSI tokens.

There is little point in having a special TGSI token just to handle
predicate register updates. Remove tgsi_dst_register_ext_predicate token
and instead use a new PREDICATE register file to update predicates.
Actually, the contents of the obsolete token are being moved
to tgsi_instruction_ext_predicate, where they should be
from the very beginning.

Remove the NVIDIA-specific condition code tokens -- nobody uses them
and they can be emulated with predicates if needed.

Introduce PIPE_CAP_SM3 that indicates whether a driver supports
SM3-level instructions, and in particular predicates.

Add PIPE_CAP_MAX_PREDICATE_REGISTERS that can be used to query the driver
how many predicate registers it supports (currently it would be 1).

14 years agosoftpipe: Sanitise shader semantic and interpolator handling.
Michal Krol [Fri, 30 Oct 2009 08:27:17 +0000 (08:27 +0000)]
softpipe: Sanitise shader semantic and interpolator handling.

Handle the remaining semantic names and indices.
Respect color interpolator when not flatshading.

14 years agonouveau: Assume all texture blankets are linear for now.
Younes Manton [Sun, 1 Nov 2009 23:25:59 +0000 (18:25 -0500)]
nouveau: Assume all texture blankets are linear for now.

14 years agor300g: Miscellania. Avoid draw segfaults, s/true/TRUE/, etc.
Corbin Simpson [Sun, 1 Nov 2009 19:54:52 +0000 (11:54 -0800)]
r300g: Miscellania. Avoid draw segfaults, s/true/TRUE/, etc.

Cleared out my git stash.

14 years agor300g: fix geometry corruptions
Maciej Cencora [Sun, 1 Nov 2009 17:50:52 +0000 (18:50 +0100)]
r300g: fix geometry corruptions

PVS flush is needed before changing the vertex shader or vertex shader constants.

14 years agor300g: split constant buffer and shader emittion
Maciej Cencora [Wed, 21 Oct 2009 19:17:43 +0000 (21:17 +0200)]
r300g: split constant buffer and shader emittion

14 years agor300g: Adopt osiris' PSC data and swizzle.
Corbin Simpson [Sun, 1 Nov 2009 17:24:02 +0000 (09:24 -0800)]
r300g: Adopt osiris' PSC data and swizzle.

A fair amount more flexible and easier to maintain.

14 years agonv50: handle TGSI_SEMANTIC_FACE
Christoph Bumiller [Sun, 1 Nov 2009 13:15:30 +0000 (14:15 +0100)]
nv50: handle TGSI_SEMANTIC_FACE

14 years agonv50: make IF condition safe
Christoph Bumiller [Sun, 1 Nov 2009 13:04:54 +0000 (14:04 +0100)]
nv50: make IF condition safe

Don't assume that a SET that writes to IF's argument
directly precedes the IF.

14 years agonv50: implement TGSI_OPCODE_AND/OR/XOR
Christoph Bumiller [Sun, 1 Nov 2009 13:27:35 +0000 (14:27 +0100)]
nv50: implement TGSI_OPCODE_AND/OR/XOR

Will use AND for gl_FrontFacing, the face input
is either 0 or 0xffffffff.

14 years agonv50: fix textures with block size != cpp
Christoph Bumiller [Sat, 31 Oct 2009 19:46:59 +0000 (20:46 +0100)]
nv50: fix textures with block size != cpp

First, using width * block size as pitch is evidently
wrong if a block contains more than 1 texel.

For tiled textures, since a block occupies a contiguous
area of memory, y addressing in m2mf has to be done by
block index, not the y coordinate itself.

This should fix compressed textures.

14 years agonouveau: Support X8R8G8B8 textures on nv30, nv40 and RTs on nv10-nv40.
Younes Manton [Sat, 24 Oct 2009 21:36:48 +0000 (17:36 -0400)]
nouveau: Support X8R8G8B8 textures on nv30, nv40 and RTs on nv10-nv40.

14 years agonv50: use SIFC also for shader upload
Christoph Bumiller [Sat, 31 Oct 2009 12:38:22 +0000 (13:38 +0100)]
nv50: use SIFC also for shader upload

Adds a more generic SIFC transfer function.

14 years agonv50: make MRTs work
Christoph Bumiller [Sat, 31 Oct 2009 10:25:48 +0000 (11:25 +0100)]
nv50: make MRTs work

We have to indicate to the hw whether the FP exports
multiple colour results.
Method 0x121c is used to specify the number of RTs.
Also deactivate zeta explicitly if there's no zsbuf.

14 years agoradeon: add missing include
Dave Airlie [Sat, 31 Oct 2009 11:23:37 +0000 (21:23 +1000)]
radeon: add missing include