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.
Brian Paul [Sat, 31 Oct 2009 14:08:19 +0000 (08:08 -0600)]
mesa: added comment
Brian Paul [Sat, 31 Oct 2009 14:08:05 +0000 (08:08 -0600)]
mesa: 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()
Brian Paul [Sat, 31 Oct 2009 14:07:23 +0000 (08:07 -0600)]
mesa: make _mesa_get_current_tex_objec() public
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.
Pierre Ossman [Sun, 1 Nov 2009 21:28:02 +0000 (22:28 +0100)]
r600: implement LOG op in compiler
Pierre Ossman [Sun, 1 Nov 2009 20:38:48 +0000 (21:38 +0100)]
r600: implement EXP op in compiler
Michal Krol [Mon, 2 Nov 2009 14:59:52 +0000 (14:59 +0000)]
tgsi/ureg: Add negate and swizzle for predicates.
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.
Brian Paul [Mon, 2 Nov 2009 13:51:47 +0000 (06:51 -0700)]
gallium/util: add casts to silence warnings
Michal Krol [Mon, 2 Nov 2009 09:42:28 +0000 (09:42 +0000)]
tgsi/ureg: Update for gallium interface changes.
Michal Krol [Mon, 2 Nov 2009 09:41:40 +0000 (09:41 +0000)]
tgsi: Update for gallium interface changes.
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).
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.
Younes Manton [Sun, 1 Nov 2009 23:25:59 +0000 (18:25 -0500)]
nouveau: Assume all texture blankets are linear for now.
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.
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.
Maciej Cencora [Wed, 21 Oct 2009 19:17:43 +0000 (21:17 +0200)]
r300g: split constant buffer and shader emittion
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.
Christoph Bumiller [Sun, 1 Nov 2009 13:15:30 +0000 (14:15 +0100)]
nv50: handle TGSI_SEMANTIC_FACE
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.
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.
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.
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.
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.
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.
Dave Airlie [Sat, 31 Oct 2009 11:23:37 +0000 (21:23 +1000)]
radeon: add missing include
Marek Olšák [Sat, 31 Oct 2009 06:23:00 +0000 (07:23 +0100)]
r300g: correct the pitch calculation for smaller mipmaps
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.
Marek Olšák [Sat, 31 Oct 2009 04:34:46 +0000 (05:34 +0100)]
r300g: fix reading from the destination buffer in blending
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
Marek Olšák [Fri, 30 Oct 2009 12:08:37 +0000 (13:08 +0100)]
r300g: remove unnecessary assertions
Also, correct typos in comments.
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
Dave Airlie [Sat, 31 Oct 2009 05:48:59 +0000 (15:48 +1000)]
radeon: use _mesa_get_current_tex_unit
Brian Paul [Sat, 31 Oct 2009 01:06:56 +0000 (19:06 -0600)]
ARB prog parser: regenerated files
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.
Brian Paul [Sat, 31 Oct 2009 01:03:44 +0000 (19:03 -0600)]
mesa: better error message
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).
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.
Eric Anholt [Fri, 30 Oct 2009 22:36:10 +0000 (15:36 -0700)]
intel: Fix up z24_x8 depth spans since the texformat merge.
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>
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.
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.
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
Alex Deucher [Fri, 30 Oct 2009 19:08:09 +0000 (15:08 -0400)]
r600: remove duplicate line
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>
Alex Deucher [Fri, 30 Oct 2009 15:51:24 +0000 (11:51 -0400)]
r600: fix a warning, update comments
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>
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
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.
Brian Paul [Fri, 30 Oct 2009 14:30:59 +0000 (08:30 -0600)]
mesa: fix inverted buffer object test
Fixes bug 24799.
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.
Michal Krol [Fri, 30 Oct 2009 08:03:10 +0000 (08:03 +0000)]
softpipe: Respect gl_rasterization_rules in primitive setup.
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.
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.
Alex Deucher [Thu, 29 Oct 2009 23:44:35 +0000 (19:44 -0400)]
r600: remove the no rrb messages
Alex Deucher [Thu, 29 Oct 2009 23:42:12 +0000 (19:42 -0400)]
r600: Add support for ARB_depth_clamp
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().
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.
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.
Brian Paul [Thu, 29 Oct 2009 22:06:30 +0000 (16:06 -0600)]
i965: indentation fix
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.
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.
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.
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.
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.
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.
Brian Paul [Thu, 29 Oct 2009 21:00:18 +0000 (15:00 -0600)]
i965: remove unused var
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.
Brian Paul [Thu, 29 Oct 2009 20:29:55 +0000 (14:29 -0600)]
i965: use macros to get/set prog_instruction::Aux field
This makes things a bit easier to remember/understand.
Brian Paul [Thu, 29 Oct 2009 20:16:18 +0000 (14:16 -0600)]
i965: minor code reformatting
José Fonseca [Thu, 29 Oct 2009 20:03:51 +0000 (20:03 +0000)]
mesa: Add MESA_FORMAT_Z24_X8.
Zack Rusin [Mon, 26 Oct 2009 11:43:49 +0000 (07:43 -0400)]
st/xorg: fix scaling ov xv data, plus some cleanups
Eric Anholt [Thu, 29 Oct 2009 18:52:28 +0000 (11:52 -0700)]
i915: Implement min/max LOD clamping with the hardware.
This gets us expected behavior for clamping between mipmap levels, and
avoids relayout of textures for doing clamping.
Fixes piglit lodclamp-between.
Eric Anholt [Thu, 29 Oct 2009 17:36:22 +0000 (10:36 -0700)]
i965: Replace a MIN(MAX()) with CLAMP().
Brian Paul [Thu, 29 Oct 2009 17:04:11 +0000 (11:04 -0600)]
intel: check for single memcpy() in memcpy_get_tex_image()
Eric Anholt [Wed, 28 Oct 2009 23:36:35 +0000 (16:36 -0700)]
i965: Fix fallout from ARB_depth_clamp enablement that broke glDepthRange.
If a backwards glDepthRange was supplied (as with the old Quake no-z-clearing
hack), the hardware would have always clamped because we weren't clamping to
the min of near/far and the max of near/far. Also, we shouldn't be clamping
to near/far at all when not in depth clamp mode (this usually didn't matter
since near/far are usually the same as the 0.0, 1.0 clamping you do for
fixed-point depth).
This should fix funny depth issues in PlaneShift, and fixes piglit
depth-clamp-range
Eric Anholt [Wed, 28 Oct 2009 23:35:16 +0000 (16:35 -0700)]
mesa: Mostly fix swrast's ARB_depth_clamp support.
I'd written a testcase for the hard part of the extension enablement, so
naturally the easy stuff was completely broken. There are still issues,
as I'm seeing FLOAT_TO_UINT(max_f) == 0x0 when max_f == 1.0, but it gets
piglit depth-clamp-range closer to success.
Eric Anholt [Mon, 26 Oct 2009 16:37:53 +0000 (09:37 -0700)]
intel: Don't bother MI_FLUSHing on glFlush in the DRI2 case.
We only need it when drawing to the front buffer, which we never do for
DRI2. No significant performance difference, but the flush is definitely
gone from the end of every batchbuffer.
Eric Anholt [Mon, 26 Oct 2009 16:15:42 +0000 (09:15 -0700)]
intel: Clean up merge leftover from the DRI2 swap throttling.
Brian Paul [Thu, 29 Oct 2009 16:56:13 +0000 (10:56 -0600)]
intel: remove debug code
Brian Paul [Thu, 29 Oct 2009 16:53:26 +0000 (10:53 -0600)]
mesa: consolidate some code in _mesa_GetCompressedTexImageARB()
Brian Paul [Thu, 29 Oct 2009 16:50:10 +0000 (10:50 -0600)]
intel: added fast memcpy path for glGetTexImage()
Brian Paul [Thu, 29 Oct 2009 16:49:38 +0000 (10:49 -0600)]
progs/tests: also test GL_BGRA format in getteximage.c
Brian Paul [Thu, 29 Oct 2009 16:44:46 +0000 (10:44 -0600)]
mesa: move pixels==NULL check in glGetTexImage()
Brian Paul [Thu, 29 Oct 2009 16:05:06 +0000 (10:05 -0600)]
mesa: consolidate some code in _mesa_GetTexImage()
Brian Paul [Thu, 29 Oct 2009 15:25:16 +0000 (09:25 -0600)]
mesa: move, clean-up _mesa_print_texture()
Brian Paul [Thu, 29 Oct 2009 15:19:24 +0000 (09:19 -0600)]
mesa: fix some tests in subtexture_error_check2()
Don't use hard-coded compressed block sizes.
Update comments and error strings.
Brian Paul [Thu, 29 Oct 2009 15:31:29 +0000 (09:31 -0600)]
mesa: remove unneedded is_srgb_teximage() function
Use _mesa_get_format_color_encoding() function instead.
Brian Paul [Thu, 29 Oct 2009 14:28:52 +0000 (08:28 -0600)]
glsl: make shader substitution a little better
David Heidelberger [Thu, 29 Oct 2009 16:14:39 +0000 (10:14 -0600)]
st/mesa: fix PIPE_FORMAT_X8Z24 <> MESA_FORMAT_X8_Z24 conversion
Signed-off-by: David Heidelberger <d.okias@gmail.com>
Signed-off-by: Brian Paul <brianp@vmware.com>
David Heidelberger [Thu, 29 Oct 2009 15:56:12 +0000 (09:56 -0600)]
st/mesa: Add conversion from PIPE_FORMAT_X8Z24_UNORM to MESA_FORMAT_S8_Z24.
Fix glxgears and openarena for Nouveau (no more asserts and crash).
Signed-off-by: David Heidelberger <d.okias@gmail.com
Signed-off-by: Brian Paul <brianp@vmware.com>
David Heidelberger [Thu, 29 Oct 2009 15:54:31 +0000 (09:54 -0600)]
st/mesa: Fix nouveau glxinfo after merging texformat-rework.
Signed-off-by: David Heidelberger <d.okias@gmail.com>
Signed-off-by: Brian Paul <brianp@vmware.com>
Brian Paul [Thu, 29 Oct 2009 13:54:44 +0000 (07:54 -0600)]
mesa: move declaration to prevent unused var warning
Chia-I Wu [Fri, 2 Oct 2009 07:32:04 +0000 (15:32 +0800)]
mesa: Fix compilation errors and warnings when features are disabled.
Some of the fixes are cherry-picked from opengl-es branch.
Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
Chia-I Wu [Thu, 29 Oct 2009 06:59:42 +0000 (14:59 +0800)]
mesa/main: Make FEATURE_texture_s3tc follow feature conventions.
Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
Chia-I Wu [Thu, 29 Oct 2009 06:14:04 +0000 (14:14 +0800)]
mesa/main: Make FEATURE_texture_fxt1 follow feature conventions.
Also remove the unused initialization and GLchan fetch functions.
Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
Chia-I Wu [Thu, 29 Oct 2009 07:19:59 +0000 (15:19 +0800)]
mesa/main: Never return NULL in _mesa_get_texstore_func.
Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
Brian Paul [Thu, 29 Oct 2009 13:47:34 +0000 (07:47 -0600)]
radeon: fix incorrect Z format in radeon_alloc_renderbuffer_storage()
And update error message.