mesa.git
15 years agointel: Finish removing the fallback code for bug #16697.
Eric Anholt [Thu, 5 Nov 2009 01:31:01 +0000 (17:31 -0800)]
intel: Finish removing the fallback code for bug #16697.

I fixed it properly as of 7216679c1998b49ff5b08e6b43f8d5779415bf54.

15 years agointel: Don't validate in a texture image used as a render target.
Eric Anholt [Wed, 4 Nov 2009 22:54:09 +0000 (14:54 -0800)]
intel: Don't validate in a texture image used as a render target.

Otherwise, we could lose track of rendering to that image, which could
easily happen during mipmap generation.

15 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.

15 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.

15 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.

15 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().

15 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.

15 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.

15 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.

15 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.

15 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

15 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.

15 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.

15 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

15 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.

15 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.

15 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.

15 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.

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

15 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.

15 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

15 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.

15 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.

15 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.

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

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

15 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>
15 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>
15 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>
15 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>
15 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

15 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

15 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.

15 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

15 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

15 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

15 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

15 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>
15 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>
15 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>
15 years agoFix YTILE spantmp functions
Alan Hourihane [Wed, 4 Nov 2009 14:48:25 +0000 (14:48 +0000)]
Fix YTILE spantmp functions

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

15 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>
15 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.

15 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.

15 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

15 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

15 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.

15 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.

15 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

15 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>
15 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>
15 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>
15 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>
15 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.

15 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.

15 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).

15 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.

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

15 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

15 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.

15 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'

15 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.

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

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

15 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()

15 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()

15 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()

15 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()

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

15 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.

15 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>
15 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).

15 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

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

15 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()

15 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()

15 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

15 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.

15 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>
15 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

15 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

15 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.

15 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.

15 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

15 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.

15 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.

15 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).

15 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.

15 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.

15 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.

15 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.

15 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

15 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.

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

15 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.

15 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.

15 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.

15 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.

15 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.