mesa.git
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 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 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.

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

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

15 years agor300g: correct the pitch calculation for smaller mipmaps
Marek Olšák [Sat, 31 Oct 2009 06:23:00 +0000 (07:23 +0100)]
r300g: correct the pitch calculation for smaller mipmaps

15 years agor300g: pretend NPOT support
Marek Olšák [Sat, 31 Oct 2009 04:38:25 +0000 (05:38 +0100)]
r300g: pretend NPOT support

It's requires to get GL2.1, therefore, much more piglit tests can be used
for testing. Figure out later how to emulate this.

15 years agor300g: fix reading from the destination buffer in blending
Marek Olšák [Sat, 31 Oct 2009 04:34:46 +0000 (05:34 +0100)]
r300g: fix reading from the destination buffer in blending

15 years agor300g: add precalculating of pixel pitch, add a new NPOT flag
Marek Olšák [Fri, 30 Oct 2009 17:19:25 +0000 (18:19 +0100)]
r300g: add precalculating of pixel pitch, add a new NPOT flag

15 years agor300g: remove unnecessary assertions
Marek Olšák [Fri, 30 Oct 2009 12:08:37 +0000 (13:08 +0100)]
r300g: remove unnecessary assertions

Also, correct typos in comments.

15 years agor300g: fix crash in r300_is_texture_referenced
Marek Olšák [Thu, 29 Oct 2009 22:48:59 +0000 (23:48 +0100)]
r300g: fix crash in r300_is_texture_referenced

Also, a subtle fix in emitting a texture state

15 years agoradeon: use _mesa_get_current_tex_unit
Dave Airlie [Sat, 31 Oct 2009 05:48:59 +0000 (15:48 +1000)]
radeon: use _mesa_get_current_tex_unit

15 years agoARB prog parser: regenerated files
Brian Paul [Sat, 31 Oct 2009 01:06:56 +0000 (19:06 -0600)]
ARB prog parser: regenerated files

15 years agoARB prog parser: new set_src_reg(), set_dst_reg() helpers
Brian Paul [Sat, 31 Oct 2009 01:05:50 +0000 (19:05 -0600)]
ARB prog parser: new set_src_reg(), set_dst_reg() helpers

These functions do sanity checks on the register file and index.

15 years agomesa: better error message
Brian Paul [Sat, 31 Oct 2009 01:03:44 +0000 (19:03 -0600)]
mesa: better error message

15 years agointel: Use GTT mapping when available for swrast.
Eric Anholt [Fri, 30 Oct 2009 22:33:11 +0000 (15:33 -0700)]
intel: Use GTT mapping when available for swrast.

This improves piglit quick.tests runtime from 19:33 minutes to 6:06 on
my GM45.  It should also hide most of the A17 swizzling issues, though
they'll still exist when swapping occurs (which is the kernel's problem
either way).

15 years agox86: Fix the test for negative pixel count in optimized rgb565 spans.
Eric Anholt [Sat, 31 Oct 2009 00:22:58 +0000 (17:22 -0700)]
x86: Fix the test for negative pixel count in optimized rgb565 spans.

There's a bunch of bogus looking stuff the count handling in this code, but
this fixes the testcases we have.

15 years agointel: Fix up z24_x8 depth spans since the texformat merge.
Eric Anholt [Fri, 30 Oct 2009 22:36:10 +0000 (15:36 -0700)]
intel: Fix up z24_x8 depth spans since the texformat merge.

15 years agoprog/tests: Fix MSVC build.
Vinson Lee [Fri, 30 Oct 2009 21:02:21 +0000 (15:02 -0600)]
prog/tests: Fix MSVC build.

Signed-off-by: Brian Paul <brianp@vmware.com>
15 years agoi965: Add an index assert on get_fp_inst array like other compiler arrays.
Eric Anholt [Fri, 30 Oct 2009 20:28:44 +0000 (13:28 -0700)]
i965: Add an index assert on get_fp_inst array like other compiler arrays.

15 years agoi965: Fix BRW_WM_MAX_INSN to reflect current limits.
Eric Anholt [Fri, 30 Oct 2009 20:20:13 +0000 (13:20 -0700)]
i965: Fix BRW_WM_MAX_INSN to reflect current limits.

Part of fixing bug #24355.

15 years agointel: Set the texture format in the TFP path.
Eric Anholt [Fri, 30 Oct 2009 19:26:54 +0000 (12:26 -0700)]
intel: Set the texture format in the TFP path.

This fixes a regression in piglit's tfp test as of
11caea687e3f10ae12d33e44edf84635f73047dd.  Additionally, set the texture
format for the RGB textures to MESA_FORMAT_XRGB8888 and support it in the
hw paths so that hopefully sw fallbacks involving TFP get better alpha
behavior.

The radeon drivers appear to need the same fix.

Bug #24803

15 years agor600: remove duplicate line
Alex Deucher [Fri, 30 Oct 2009 19:08:09 +0000 (15:08 -0400)]
r600: remove duplicate line

15 years agor600: fill in some missing tex formats
Alex Deucher [Fri, 30 Oct 2009 19:02:34 +0000 (15:02 -0400)]
r600: fill in some missing tex formats

This improves shadowtex since the component ordering
is at least correct now, but I'm not sure how to
deal with texturing from a depth surface yet due to
differences in depth and color tile layouts.

Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
15 years agor600: fix a warning, update comments
Alex Deucher [Fri, 30 Oct 2009 15:51:24 +0000 (11:51 -0400)]
r600: fix a warning, update comments

15 years agoprogs/tests: fix MSVC build.
Vinson Lee [Fri, 30 Oct 2009 15:39:51 +0000 (09:39 -0600)]
progs/tests: fix MSVC build.

Signed-off-by: Brian Paul <brianp@vmware.com>
15 years agor600: use AUTO_INDEX for draw - saves cmd buffer space
Andre Maasikas [Wed, 28 Oct 2009 16:02:22 +0000 (18:02 +0200)]
r600: use AUTO_INDEX for draw - saves cmd buffer space

also seems we can use INDX_OFFSET if start != 0

15 years agointel: fix up some XRGB breakage
Brian Paul [Fri, 30 Oct 2009 15:12:11 +0000 (09:12 -0600)]
intel: fix up some XRGB breakage

We weren't choosing the right XRGB span functions for reading the
framebuffer.  XRGB formats still aren't turned on yet though.

15 years agomesa: fix inverted buffer object test
Brian Paul [Fri, 30 Oct 2009 14:30:59 +0000 (08:30 -0600)]
mesa: fix inverted buffer object test

Fixes bug 24799.

15 years agomesa: fix incorrect format info for MESA_FORMAT_SL8
Brian Paul [Fri, 30 Oct 2009 14:19:50 +0000 (08:19 -0600)]
mesa: fix incorrect format info for MESA_FORMAT_SL8

Fixes bugs 24798 and 24801.

15 years agoAdd --with-dri-searchpath argument
Chow Loong Jin [Wed, 28 Oct 2009 06:34:14 +0000 (14:34 +0800)]
Add --with-dri-searchpath argument

* Add an extra argument to configure which allows for specifying
  different DRI driver search paths to libGL (FDO #24766)

Signed-off-by: Dan Nicholson <dbn.lists@gmail.com>
15 years agosoftpipe: Respect gl_rasterization_rules in primitive setup.
Michal Krol [Fri, 30 Oct 2009 08:03:10 +0000 (08:03 +0000)]
softpipe: Respect gl_rasterization_rules in primitive setup.

15 years agointel: update intel_create_renderbuffer(format), add XRGB support
Brian Paul [Fri, 30 Oct 2009 01:12:50 +0000 (19:12 -0600)]
intel: update intel_create_renderbuffer(format), add XRGB support

Pass a gl_format to intel_create_renderbuffer() instead of GLenum.
Add cases for MESA_FORMAT_XRGB8888 textures and renderbuffers.
However, we don't yet create any renderbuffers or textures with that
format.  It seems the default alpha value is zero instead of one.
Need to investigate that first.

15 years agomesa: fix _mesa_texstore_argb8888() for MESA_FORMAT_XRGB8888
Brian Paul [Thu, 29 Oct 2009 23:49:50 +0000 (17:49 -0600)]
mesa: fix _mesa_texstore_argb8888() for MESA_FORMAT_XRGB8888

If we hit the general path and call _mesa_make_temp_chan_image() we
always want to get a GL_RGBA texture.  We were getting a 3-channel
GL_RGB texture before and that messed up the memory layout.

15 years agor600: remove the no rrb messages
Alex Deucher [Thu, 29 Oct 2009 23:44:35 +0000 (19:44 -0400)]
r600: remove the no rrb messages

15 years agor600: Add support for ARB_depth_clamp
Alex Deucher [Thu, 29 Oct 2009 23:42:12 +0000 (19:42 -0400)]
r600: Add support for ARB_depth_clamp

15 years agointel: remove memcpy_get_tex_image() code
Brian Paul [Thu, 29 Oct 2009 22:30:36 +0000 (16:30 -0600)]
intel: remove memcpy_get_tex_image() code

This has been lifted into core Mesa where it can be used for all drivers
that use the _mesa_get_teximage() fallback for ctx->Driver.GetTexImage().

15 years agomesa: lift memcpy_get_tex_image() code from intel driver into core Mesa
Brian Paul [Thu, 29 Oct 2009 22:29:31 +0000 (16:29 -0600)]
mesa: lift memcpy_get_tex_image() code from intel driver into core Mesa

The code should work for any driver.

15 years agomesa: refactor _mesa_get_teximage() code
Brian Paul [Thu, 29 Oct 2009 22:26:09 +0000 (16:26 -0600)]
mesa: refactor _mesa_get_teximage() code

Break different formats into different functions to make it easier to read.

15 years agoi965: indentation fix
Brian Paul [Thu, 29 Oct 2009 22:06:30 +0000 (16:06 -0600)]
i965: indentation fix

15 years agoi965: make brw_sf_prog_key::sprite_origin_lower_left one bit
Brian Paul [Thu, 29 Oct 2009 22:02:35 +0000 (16:02 -0600)]
i965: make brw_sf_prog_key::sprite_origin_lower_left one bit

Shrinks size of key to 8 bytes from 12.
Note that progs/demos/spriteblast.c is still broken.

15 years agoi965: make brw_wm_prog_key a little smaller
Brian Paul [Thu, 29 Oct 2009 21:57:22 +0000 (15:57 -0600)]
i965: make brw_wm_prog_key a little smaller

GLushort is big enough for the swizzle and origin fields.
The key could probably be made smaller still by re-ordering things.
I'll hold off on that until after the outputswritten64 branch is merged.
The key will get a little larger again with the GLbitfield64 fields.

15 years agoi915: Fix 1D texture mapping in the t coordinate.
Eric Anholt [Thu, 29 Oct 2009 21:38:44 +0000 (14:38 -0700)]
i915: Fix 1D texture mapping in the t coordinate.

Fixes piglit tex1d-2dborder test.

15 years agoi915: Correct and make use of the defines for 32-bit depth texture modes.
Eric Anholt [Thu, 29 Oct 2009 20:35:03 +0000 (13:35 -0700)]
i915: Correct and make use of the defines for 32-bit depth texture modes.

Previously, S8_Z24 depth textures would always be treated as intensity.
Fixes piglit depth-tex-modes.

15 years agoi965: avoid shader translation on window resize
Brian Paul [Thu, 29 Oct 2009 21:29:41 +0000 (15:29 -0600)]
i965: avoid shader translation on window resize

If the fragment shader doesn't use FRAG_ATTRIB_WPOS (gl_FragCoord) we
don't need to worry about the window size and origin in
brw_wm_populate_key().

This avoids re-generating the i965 shader code when a window is resized.

Issue spotted by Keith Whitwell.

15 years agoi965: define, use BRW_MAX_DRAW_BUFFERS
Brian Paul [Thu, 29 Oct 2009 21:01:02 +0000 (15:01 -0600)]
i965: define, use BRW_MAX_DRAW_BUFFERS

i965 might support more than 4 color draw buffers.  But if not, this protects
from breakage if the Mesa limit is raised.

15 years agoi965: remove unused var
Brian Paul [Thu, 29 Oct 2009 21:00:18 +0000 (15:00 -0600)]
i965: remove unused var

15 years agoi965: don't use context state in emit_fb_write()
Brian Paul [Thu, 29 Oct 2009 20:53:53 +0000 (14:53 -0600)]
i965: don't use context state in emit_fb_write()

Put the state that we care about in the hash key.
Issue spotted by Keith Whitwell.