Dave Airlie [Tue, 1 Mar 2011 08:32:33 +0000 (18:32 +1000)]
st/dri: one more missing array size
whats one more between friends.
again bnf on irc.
Dave Airlie [Tue, 1 Mar 2011 08:29:24 +0000 (18:29 +1000)]
st/dri: fix missing array size init.
Init array size to 1,
reported by bnf on irc.
Dave Airlie [Tue, 1 Mar 2011 08:24:15 +0000 (18:24 +1000)]
egl/st: add array size initialisor
reported by bnf on irc.
Dave Airlie [Mon, 28 Feb 2011 06:19:58 +0000 (16:19 +1000)]
r600g: add NV_conditional_render support.
This is reliant on a drm patch that I posted on the list + a version bump.
These will appear in drm-next today.
Signed-off-by: Dave Airlie <airlied@redhat.com>
Dave Airlie [Tue, 1 Mar 2011 04:55:35 +0000 (14:55 +1000)]
r600g: start using drm minor version to enable things.
If the drm minor version is > 9 (i.e. whats in drm-next),
we enable s3tc + texture tiling by default now.
this changes R600_FORCE_TILING to R600_TILING which can
be set to false to disable tiling on working drm.
Signed-off-by: Dave Airlie <airlied@redhat.com>
Marek Olšák [Tue, 1 Mar 2011 04:16:34 +0000 (05:16 +0100)]
r300g: fix RGTC2_SNORM
ATI engineers have probably chosen those sign bits by a dice roll.
Marek Olšák [Tue, 1 Mar 2011 04:14:27 +0000 (05:14 +0100)]
r300g: reorder parts of translate_texformat
Alex Deucher [Tue, 1 Mar 2011 02:52:19 +0000 (21:52 -0500)]
r600g: truncate point sampled texture coordinates
By default the hardware rounds texcoords. However,
for point sampled textures, the expected behavior is
to truncate. When we have point sampled textures,
set the truncate bit in the sampler.
Should fix:
https://bugs.freedesktop.org/show_bug.cgi?id=25871
Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Zou Nan hai [Tue, 1 Mar 2011 02:39:35 +0000 (10:39 +0800)]
i965: bump VS thread number to 60 on SNB
Signed-off-by: Zou Nan hai <nanhai.zou@intel.com>
Marek Olšák [Tue, 1 Mar 2011 02:21:23 +0000 (03:21 +0100)]
r300g: fix RGTC1_UNORM and RGTC2_UNORM
Signs don't work the way I'd like...
Dave Airlie [Tue, 1 Mar 2011 01:57:51 +0000 (11:57 +1000)]
rgtc: shared the compressor code between signed/unsigned
No idea why I didn't do it like this the first time, but share
the code like other portions of mesa do using _tmp.h suffix
and some #defines for the types.
Signed-off-by: Dave Airlie <airlied@redhat.com>
Brian Paul [Tue, 1 Mar 2011 01:34:06 +0000 (18:34 -0700)]
vbo: silence unused var warning
Brian Paul [Tue, 1 Mar 2011 01:25:41 +0000 (18:25 -0700)]
softpipe: remove redundant draw_flush() call
We'll flush after the same-shader comparison.
Brian Paul [Tue, 1 Mar 2011 01:25:37 +0000 (18:25 -0700)]
draw: setup pipe's draw pointer for the aapoint stage
The other draw stages like aaline and pstipple were already doing this.
If the driver used the aapoint stage but not the others it would crash
because of a null pipe->draw pointer.
Brian Paul [Tue, 1 Mar 2011 01:24:35 +0000 (18:24 -0700)]
mesa: move PBO-related functions into a new file
Brian Paul [Tue, 1 Mar 2011 01:24:30 +0000 (18:24 -0700)]
mesa: always generate error in glColorTableParameter[fi]v()
These were only used by GL_SGI_texture_color_table, which is gone now.
Brian Paul [Tue, 1 Mar 2011 01:24:30 +0000 (18:24 -0700)]
mesa: remove GL_SGI_texture_color_table support
It was only implemented in the swrast driver and probably not used by
any applications. A modern app would use a dependent/chained texture
lookup in the fragment shader.
Brian Paul [Tue, 1 Mar 2011 01:24:30 +0000 (18:24 -0700)]
svga: add assertions in svga_shader_type()
Brian Paul [Tue, 1 Mar 2011 01:24:25 +0000 (18:24 -0700)]
mesa: consolidate framebuffer target lookup code
Brian Paul [Tue, 1 Mar 2011 01:24:25 +0000 (18:24 -0700)]
mesa: remove some old do-nothing code
Brian Paul [Tue, 1 Mar 2011 01:24:25 +0000 (18:24 -0700)]
mesa: reduce calls to _mesa_test_framebuffer_completeness()
when updating/validating framebuffer state. The _Status field is set
to zero when we need to recompute _Status. Otherwise, it's up to date.
Brian Paul [Tue, 1 Mar 2011 01:24:20 +0000 (18:24 -0700)]
mesa: reduce calls to _mesa_test_framebuffer_completeness()
when doing glCopyTex[Sub]Image() and checking the source buffer's
completeness.
We only need to determine FBO completeness when the status is indeterminate.
Brian Paul [Tue, 1 Mar 2011 01:23:23 +0000 (18:23 -0700)]
mesa: s/mesaFormat/attFormat/
Marek Olšák [Tue, 1 Mar 2011 00:46:10 +0000 (01:46 +0100)]
r300g: set the correct HiZ clear value
Marek Olšák [Mon, 28 Feb 2011 23:12:23 +0000 (00:12 +0100)]
r300g: update derived state before uploading vertex buffers
The function may invoke blitter, which invalidates vertex buffers.
Marek Olšák [Mon, 28 Feb 2011 22:54:47 +0000 (23:54 +0100)]
u_vbuf_mgr: compute user buffer size for instance data from instance_count
Marek Olšák [Mon, 28 Feb 2011 21:57:50 +0000 (22:57 +0100)]
r300g: fix printing whether Z compression is enabled
Marek Olšák [Mon, 28 Feb 2011 21:10:04 +0000 (22:10 +0100)]
r300g: disable HiZ permanently if the the depth function is inverted
Instead of temporarily.
The HiZ function (something like a depth function) is a property
of a HiZ buffer and can only be changed during HiZ clears.
Marek Olšák [Mon, 28 Feb 2011 12:38:01 +0000 (13:38 +0100)]
r300g: fix HiZ memory size computation and deciding when to use HiZ
I removed the HiZ memory management, because the HiZ RAM is too small
and I also did it in hope that HiZ will be enabled more often.
This also sets aligned strides to HIZ_PITCH and ZMASK_PITCH.
Alex Deucher [Mon, 28 Feb 2011 22:21:26 +0000 (17:21 -0500)]
r600g: add missing evergreen INT_TO_FLT to r600_bc_get_num_operands
Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Dave Airlie [Mon, 28 Feb 2011 20:47:00 +0000 (06:47 +1000)]
rgtc: fix void pointer arith.
should fix scons build.
Kenneth Graunke [Sat, 26 Feb 2011 07:11:20 +0000 (23:11 -0800)]
glsl: Enable GL_OES_texture_3D extension for ES2.
Kenneth Graunke [Sun, 27 Feb 2011 09:17:29 +0000 (01:17 -0800)]
glsl: Use reralloc instead of plain realloc.
Plugs a memory leak when compiling shaders with user defined structures.
NOTE: This is a candidate for the 7.9 and 7.10 branches.
Jerome Glisse [Mon, 28 Feb 2011 18:33:13 +0000 (13:33 -0500)]
r600g: indentation fixes
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
Marek Olšák [Mon, 28 Feb 2011 11:43:26 +0000 (12:43 +0100)]
r300g: initialize SC_SCREENDOOR
Marek Olšák [Mon, 28 Feb 2011 11:27:22 +0000 (12:27 +0100)]
r300g: disable hyper-z on rs6xx+
It doesn't work.
Vinson Lee [Mon, 28 Feb 2011 07:17:49 +0000 (23:17 -0800)]
mesa: Add texcompress_rgtc.c to SConscript.
Dave Airlie [Mon, 28 Feb 2011 03:43:32 +0000 (13:43 +1000)]
rgtc: update docs
Dave Airlie [Thu, 24 Feb 2011 23:24:15 +0000 (09:24 +1000)]
mesa/st: add RGTC format support.
this just adds a format check + format conversion.
Dave Airlie [Thu, 24 Feb 2011 04:27:18 +0000 (14:27 +1000)]
swrast: add RGTC support
Dave Airlie [Tue, 22 Feb 2011 00:35:15 +0000 (10:35 +1000)]
mesa: Add RGTC texture store/fetch support.
This adds support for the RGTC unsigned and signed
texture storage and fetch methods.
the code is a port of the DXT5 alpha compression code.
Signed-off-by: Dave Airlie <airlied@redhat.com>
Dave Airlie [Thu, 24 Feb 2011 23:12:40 +0000 (09:12 +1000)]
mesa: make_float_temp_image non-static
We need this to do signed stuff for RGTC.
Dave Airlie [Mon, 28 Feb 2011 03:33:17 +0000 (13:33 +1000)]
rgtc: llvmpipe/softpipe refuse RGTC until u_format has support.
So far I haven't implemented the u_format code for these.
Signed-off-by: Dave Airlie <airlied@redhat.com>
Dave Airlie [Sun, 27 Feb 2011 07:00:50 +0000 (17:00 +1000)]
r300g: force swizzles for RGTC
still can't get signed to work
Christian König [Mon, 28 Feb 2011 01:00:01 +0000 (02:00 +0100)]
r600g: implement instanced drawing support
Christian König [Mon, 28 Feb 2011 00:54:36 +0000 (01:54 +0100)]
st/mesa & v_bug_mgr: two small instanced drawing fixes
Dave Airlie [Mon, 28 Feb 2011 01:10:10 +0000 (11:10 +1000)]
Revert "r600g: Don't negate result of ABS instruction"
This reverts commit
b6d40213935da702570eca2c0861bd4b1d7f5254.
This actually breaks gears here on my rv670.
Fabian Bieler [Sun, 27 Feb 2011 15:10:55 +0000 (16:10 +0100)]
r600g: Process TRUNC with tgis_op2
TRUNC is neither a scalar instruction nor exclusive to the Trans unit.
Signed-off-by: Dave Airlie <airlied@redhat.com>
Fabian Bieler [Fri, 25 Feb 2011 09:11:37 +0000 (10:11 +0100)]
r600g: Don't negate result of ABS instruction
Signed-off-by: Dave Airlie <airlied@redhat.com>
Daniel Vetter [Fri, 25 Feb 2011 22:40:27 +0000 (23:40 +0100)]
i915g: implement cache flushing
With an extremely dumb strategy. But it's the same i915c employs.
Also improve the hw_atom code slightly by statically specifying the
required batch space. For extremely variably stuff (shaders, constants)
it would probably be better to add a new parameter to the hw_atom->validate
function.
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Daniel Vetter [Fri, 25 Feb 2011 21:51:03 +0000 (22:51 +0100)]
i915g: buffer validation for blitter
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Daniel Vetter [Sun, 27 Feb 2011 20:57:31 +0000 (21:57 +0100)]
i915g: buffer validation for render state
Also contains the first few bits for hw state atoms.
v2: Implement suggestion by Jakob Bornecrantz.
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Daniel Vetter [Sun, 27 Feb 2011 16:51:48 +0000 (17:51 +0100)]
i915g/winsys: buffer validation support
v2: Add the batch bo to the libdrm validation lost, for otherwise
libdrm won't take previously used buffers into account.
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Daniel Vetter [Sun, 27 Feb 2011 15:32:38 +0000 (16:32 +0100)]
i915g: add raw batchbuffer dumping in drm winsys
These files can be decoded with intel_dump_decode from the intel-gpu-tools
available at:
http://cgit.freedesktop.org/xorg/app/intel-gpu-tools/
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Daniel Vetter [Sat, 26 Feb 2011 14:53:01 +0000 (15:53 +0100)]
i915g: cleanup static state calculation, part 2
Now also for the DRAW_RECT command
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Daniel Vetter [Sat, 26 Feb 2011 14:24:51 +0000 (15:24 +0100)]
i915g: cleanup static state calculation, part 1
Move it to i915_state_static.c This way i915_emit_state.c only emits
state and doesn't (re)calculate it.
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Kenneth Graunke [Sat, 26 Feb 2011 00:33:40 +0000 (16:33 -0800)]
glsl/builtins: Fix return type for textureSize sampler2DArray variants.
A copy and paste error.
Eric Anholt [Thu, 24 Feb 2011 23:25:59 +0000 (15:25 -0800)]
glx: Adjust the MESA_multithread_makecurrent spec to match implementation.
This came out of discussion at the office today, and we agreed that
solving this for indirect wasn't really interesting, though the
server-side change would be of a similar level of difficulty.
Eric Anholt [Tue, 15 Feb 2011 02:57:49 +0000 (18:57 -0800)]
intel: Use the current context rather than last bound context for a drawable.
If another thread bound a context to the drawable then unbound it, the
driContextPriv would end up NULL.
With the previous two fixes, this fixes glx-multithread-makecurrent-2,
despite the issue not being about the multithreaded makecurrent.
Eric Anholt [Tue, 15 Feb 2011 03:03:37 +0000 (19:03 -0800)]
dri2: Don't call the dri2 flush hook for swapbuffers unless we have a context.
The driver only has one reasonable place to look for its context to
flush anything, which is the current context. Don't bother it with
having to check.
Eric Anholt [Tue, 15 Feb 2011 02:38:33 +0000 (18:38 -0800)]
glx: Don't do the implicit glFlush in SwapBuffers if it's the wrong drawable.
The GLX Spec says you only implicitly glFlush if the drawable being
swapped is the current context's drawable.
Eric Anholt [Fri, 4 Feb 2011 01:26:02 +0000 (17:26 -0800)]
mesa: Add new MESA_multithread_makecurrent extension.
This extension allows a client to bind one context in multiple threads
simultaneously. It is then up to the client to manage synchronization of
access to the GL, just as normal multithreaded GL from multiple contexts
requires synchronization management to shared objects.
Daniel Vetter [Sat, 26 Feb 2011 18:11:32 +0000 (19:11 +0100)]
i915g: make dynamic state emission actually lazy
Premature semicolon.
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Jakob Bornecrantz [Sat, 26 Feb 2011 19:12:27 +0000 (20:12 +0100)]
gallivm: Initialize stack values
valgrind gives me a warning with llvmpipe with profile builds but
not debug builds, this seems to fix the issue at least.
Arkadiusz Miskiewicz [Sat, 26 Feb 2011 18:26:09 +0000 (10:26 -0800)]
glsl/Makefile: Remove builtin_function.cpp if generation fails.
Fixes bug #34346.
Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Jakob Bornecrantz [Sat, 26 Feb 2011 14:45:13 +0000 (15:45 +0100)]
i915g: Handle null constants properly
Daniel Vetter [Fri, 25 Feb 2011 22:32:48 +0000 (23:32 +0100)]
i915g: fix null deref in draw_rect emission
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Daniel Vetter [Fri, 25 Feb 2011 17:03:16 +0000 (18:03 +0100)]
i915g: simplify math in constants emission
The old code even falls apart for nr == 0 (which is caught earlier, but)!
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Jakob Bornecrantz [Sat, 26 Feb 2011 14:24:13 +0000 (15:24 +0100)]
i915g: Use the same debug env vars in drm and sw winsys
Jakob Bornecrantz [Sat, 26 Feb 2011 00:42:19 +0000 (01:42 +0100)]
i915g: Use unchecked writes in sw winsys batchbuffer
Alan Hourihane [Sat, 26 Feb 2011 10:30:19 +0000 (10:30 +0000)]
Check for out of memory when creating fence
Jakob Bornecrantz [Sat, 26 Feb 2011 01:32:22 +0000 (02:32 +0100)]
util: Don't destroy shaders null shaders
Fixes regression from
a08e612fd8e7ca2ac2fef8961e56e5b094033717
Jakob Bornecrantz [Fri, 25 Feb 2011 23:50:52 +0000 (00:50 +0100)]
util: Don't create array texture shaders if the driver doesn't support it
Kenneth Graunke [Fri, 25 Feb 2011 01:49:07 +0000 (17:49 -0800)]
i965/fs: Initial plumbing to support TXD.
This adds the opcode and the code to convert ir_txd to OPCODE_TXD;
it doesn't actually add support yet.
Kenneth Graunke [Thu, 28 Oct 2010 19:53:21 +0000 (12:53 -0700)]
i965/fs: Complete TXL support on gen5+.
Initial plumbing existed to turn the ir_txl into OPCODE_TXL, but it was
never handled.
Kenneth Graunke [Thu, 28 Oct 2010 20:12:20 +0000 (13:12 -0700)]
i965/fs: Complete TXL support on gen4.
Initial plumbing existed to turn the ir_txl into OPCODE_TXL, but it was
never handled.
Kenneth Graunke [Thu, 28 Oct 2010 20:07:11 +0000 (13:07 -0700)]
i965/fs: Use a properly named constant in TXB handling.
The old value, BRW_SAMPLER_MESSAGE_SIMD8_SAMPLE makes it sound like we're
doing a non-bias texture lookup. It has the same value as the new constant
BRW_SAMPLER_MESSAGE_SIMD8_SAMPLE_BIAS_COMPARE, so there should be no
functional changes.
Kenneth Graunke [Thu, 28 Oct 2010 20:04:41 +0000 (13:04 -0700)]
i965: Add #defines for gen4 SIMD8 TXB/TXL with shadow comparison.
From volume 4, page 161 of the public i965 documentation.
Jerome Glisse [Fri, 25 Feb 2011 16:56:29 +0000 (11:56 -0500)]
gallium/tgsi: shuffle ureg_src structure to work around gcc4.6.0 issue
There is an issue with gcc 4.6.0 that leads to segfault/assert with mesa
due to ureg_src size, reshuffling the structure member to better better
alignment work around the issue.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47893
7.9 + 7.10 candidate
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
Jerome Glisse [Fri, 25 Feb 2011 16:49:23 +0000 (11:49 -0500)]
gallium/st: place value check before value is use
7.9 & 7.10 candidate
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
Dave Airlie [Fri, 25 Feb 2011 04:37:06 +0000 (14:37 +1000)]
gallium/util: add 1d/2d mipmap generation support
so far only hw mipmap generation is testing on softpipe,
passes test added to piglit.
this requires another patch to mesa to let array textures mipmaps
even start to happen.
Vinson Lee [Fri, 25 Feb 2011 03:49:37 +0000 (19:49 -0800)]
scons: Reduce all Cygwin platform names to 'cygwin'.
platform.system in SCons on Cygwin includes the OS version number.
Windows XP - CYGWIN_NT-5.1
Windows Vista - CYGWIN_NT-6.0
Windows 7 - CYGWIN_NT-6.1
Reduce all Cygwin platform variants to just 'cygwin' so anything
downstream can simply use 'cygwin' instead of the different full
platform names.
Dave Airlie [Thu, 24 Feb 2011 23:13:14 +0000 (09:13 +1000)]
r600g: explicity set sign bits for RGTC
Dave Airlie [Thu, 24 Feb 2011 03:55:25 +0000 (13:55 +1000)]
r600g: bc 4/5 or rgtc textures need to be tiled as well.
Make the s3tc upload code more generic.
Signed-off-by: Dave Airlie <airlied@redhat.com>
Dave Airlie [Thu, 24 Feb 2011 23:14:53 +0000 (09:14 +1000)]
r300g: explicit sign bits on RGTC textures
Kenneth Graunke [Thu, 24 Feb 2011 19:17:02 +0000 (11:17 -0800)]
i965: Increase Sandybridge point size clamp in the clip state.
255.875 matches the hardware documentation. Presumably this was a typo.
NOTE: This is a candidate for the 7.10 branch, along with
commit
2bfc23fb86964e4153f57f2a56248760f6066033.
Reviewed-by: Eric Anholt <eric@anholt.net>
Neil Roberts [Sat, 5 Feb 2011 10:21:11 +0000 (10:21 +0000)]
intel: Try using glCopyTexSubImage2D in _mesa_meta_BlitFramebuffer
In the case where glBlitFramebuffer is being used to copy to a texture
without scaling it is faster if we can use the hardware to do a blit
rather than having to do a texture render. In most of the drivers
glCopyTexSubImage2D will use a blit so this patch makes it check for
when glBlitFramebuffer is doing a simple copy and then divert to
glCopyTexSubImage2D.
This was originally proposed as an extension to the common meta-ops.
However, it was rejected as using the BLT is only advantageous for Intel
hardware.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=33934
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Christoph Bumiller [Wed, 23 Feb 2011 13:54:25 +0000 (14:54 +0100)]
nvc0: fix PointCoord enable in FP header
Christoph Bumiller [Wed, 23 Feb 2011 16:29:02 +0000 (17:29 +0100)]
nvc0: change TGSI CMP translation to use slct
Saves us the explicit compare instruction needed with selp.
Christoph Bumiller [Wed, 23 Feb 2011 14:00:26 +0000 (15:00 +0100)]
nvc0: sprite coord enable is per GENERIC, not overall index
Christoph Bumiller [Thu, 24 Feb 2011 14:28:04 +0000 (15:28 +0100)]
nvc0: fix new_value calls using type instead of size
Christoph Bumiller [Thu, 24 Feb 2011 16:26:44 +0000 (17:26 +0100)]
nvc0: set local memory usage info in shader header
Before this, l[] access was a no-op.
Christoph Bumiller [Sun, 20 Feb 2011 12:13:11 +0000 (13:13 +0100)]
nvc0: don't fold loads from local memory
Christoph Bumiller [Thu, 24 Feb 2011 16:23:23 +0000 (17:23 +0100)]
nvc0: presin and preex2 can load from const space
Christoph Bumiller [Tue, 22 Feb 2011 20:50:17 +0000 (21:50 +0100)]
nvc0: kick out empty live ranges
They affect overlap tests even though they're actually empty.
Christoph Bumiller [Thu, 24 Feb 2011 16:22:15 +0000 (17:22 +0100)]
nvc0: preemptively insert branch at ENDIF
Might be necessary if a block sneaks in somewhere, like a common
block for moves of phi sources after a loop break.
This is harmless and normally will be removed before emission.
Christoph Bumiller [Thu, 24 Feb 2011 16:08:23 +0000 (17:08 +0100)]
nvc0: correct allocation of constrained registers
In linear scan we can't allocate multiple values with different
live ranges at the same time to assign them consecutive regs.
Maybe we should just switch to graph coloring for all values ...
Christoph Bumiller [Thu, 24 Feb 2011 16:04:49 +0000 (17:04 +0100)]
nvc0: sync textures with render targets ourselves
Fixes for example piglit/fbo-flushing and nexuiz' bloom effect.
Christoph Bumiller [Sun, 20 Feb 2011 16:57:47 +0000 (17:57 +0100)]
nvc0: improve userspace fencing
Before, there were situations in which we never checked the fences
for completion (some loading screens for example) and thus never
released memory.
Christoph Bumiller [Sun, 20 Feb 2011 14:10:02 +0000 (15:10 +0100)]
nvc0: values for undefined outputs must have file GPR