mesa.git
13 years agoglsl: Define YY_NO_UNISTD_H on MSVC.
José Fonseca [Fri, 4 Mar 2011 12:49:55 +0000 (12:49 +0000)]
glsl: Define YY_NO_UNISTD_H on MSVC.

13 years agogallium: Define __func__ on MSVC.
José Fonseca [Fri, 4 Mar 2011 11:46:13 +0000 (11:46 +0000)]
gallium: Define __func__ on MSVC.

13 years agoMerge remote branch 'origin/nvc0'
Christoph Bumiller [Fri, 4 Mar 2011 10:02:10 +0000 (11:02 +0100)]
Merge remote branch 'origin/nvc0'

13 years agoi965: Fix extending VB packets
Chris Wilson [Thu, 3 Mar 2011 22:34:22 +0000 (22:34 +0000)]
i965: Fix extending VB packets

Computation of the delta of this array from the last had a silly little
bug and ignored any initial delta==0 causing grief in Nexuiz and
friends.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
13 years agoi965: Handle URB_FENCE erratum for Broadwater
Chris Wilson [Thu, 3 Mar 2011 18:15:03 +0000 (18:15 +0000)]
i965: Handle URB_FENCE erratum for Broadwater

There is a silicon bug which causes unpredictable behaviour if the
URB_FENCE command should cross a cache-line boundary. Pad before the
command to avoid such occurrences. As this command only applies to
gen4/5, do the fixup unconditionally as the specs do not actually state
for which chip it was fixed (and the cost is negligible)...

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
13 years agoi965: Align index to type size and flush if the type changes
Chris Wilson [Thu, 3 Mar 2011 15:56:39 +0000 (15:56 +0000)]
i965: Align index to type size and flush if the type changes

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
13 years agointel: Add couple of missing gen6 commands to decode
Chris Wilson [Sun, 27 Feb 2011 19:21:54 +0000 (19:21 +0000)]
intel: Add couple of missing gen6 commands to decode

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
13 years agoi965: Prevent using a zero sized (or of unknown type) vertex array
Chris Wilson [Thu, 3 Mar 2011 11:25:30 +0000 (11:25 +0000)]
i965: Prevent using a zero sized (or of unknown type) vertex array

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
13 years agor600g: disable tiling by default again.
Dave Airlie [Thu, 3 Mar 2011 22:42:33 +0000 (08:42 +1000)]
r600g: disable tiling by default again.

we still have a lot of corner cases that aren't working.

Signed-off-by: Dave Airlie <airlied@redhat.com>
13 years agotgsi: Update assert.
José Fonseca [Thu, 3 Mar 2011 19:15:24 +0000 (19:15 +0000)]
tgsi: Update assert.

Elements(mach->Inputs) is wrong now that mach->Inputs is dynamically
allocated.

13 years agoglcpp: Remove trailing contexts from #if rules.
Kenneth Graunke [Thu, 3 Mar 2011 17:52:36 +0000 (09:52 -0800)]
glcpp: Remove trailing contexts from #if rules.

These are now unnecessary.

13 years agoglcpp: Rework lexer to use a SKIP state rather than REJECT.
Kenneth Graunke [Tue, 1 Mar 2011 20:24:58 +0000 (12:24 -0800)]
glcpp: Rework lexer to use a SKIP state rather than REJECT.

Previously, the rule deleted by this commit was matched every single
time (being the longest match).  If not skipping, it used REJECT to
continue on to the actual correct rule.

The flex manual advises against using REJECT where possible, as it is
one of the most expensive lexer features.  So using it on every match
seems undesirable. Perhaps more importantly, it made it necessary for
the #if directive rules to contain a look-ahead pattern to make them
as long as the (now deleted) "skip the whole line" rule.

This patch introduces an exclusive start state, SKIP, to avoid REJECTs.
Each time the lexer is called, the code at the top of the rules section
will run, implicitly switching the state to the correct one.

Fixes piglit tests 16384-consecutive-chars.frag and
16385-consecutive-chars.frag.

13 years agoglcpp/tests: Update 063-comments.c.expected to match output.
Kenneth Graunke [Thu, 3 Mar 2011 07:26:24 +0000 (23:26 -0800)]
glcpp/tests: Update 063-comments.c.expected to match output.

The expected result has been out of sync with what glcpp produces for
some time; glcpp's actual result seems to be correct and is very close to
GCC's cpp.  Updating this will make it easier to catch regressions in
upcoming commits.

13 years agorbug: Fix depth stencil surface not being sent to the client
Jakob Bornecrantz [Thu, 3 Mar 2011 18:25:49 +0000 (18:25 +0000)]
rbug: Fix depth stencil surface not being sent to the client

13 years agoscons: More tweaks to fix MinGW build.
José Fonseca [Thu, 3 Mar 2011 16:57:38 +0000 (16:57 +0000)]
scons: More tweaks to fix MinGW build.

13 years agoscons: Ensure generated headers are in the include path.
José Fonseca [Thu, 3 Mar 2011 15:43:18 +0000 (15:43 +0000)]
scons: Ensure generated headers are in the include path.

13 years agoscons: Add human friendlier build messages for lex/yacc.
José Fonseca [Thu, 3 Mar 2011 15:42:58 +0000 (15:42 +0000)]
scons: Add human friendlier build messages for lex/yacc.

13 years agoscons: Always load lex/yacc tool.
José Fonseca [Thu, 3 Mar 2011 15:28:36 +0000 (15:28 +0000)]
scons: Always load lex/yacc tool.

lex/yacc is not loaded by default when toolchain is not default either,
e.g., when toolchain=crossmingw.

13 years agonv50: check grclass instead of chipset for 3D caps
Christoph Bumiller [Thu, 3 Mar 2011 11:31:35 +0000 (12:31 +0100)]
nv50: check grclass instead of chipset for 3D caps

13 years agonv50: increase size of shader code bo
Christoph Bumiller [Thu, 3 Mar 2011 11:25:12 +0000 (12:25 +0100)]
nv50: increase size of shader code bo

512 KiB should be quite enough, but dynamic resize might be nicer.

13 years agonouveau: allow pipe driver to define which buffers should start in sysmem
Ben Skeggs [Thu, 3 Mar 2011 05:56:20 +0000 (15:56 +1000)]
nouveau: allow pipe driver to define which buffers should start in sysmem

PIPE_BIND_CONSTANT_BUFFER alone was OK for nv50/nvc0, but nv30 will need
to be able to set others on certain chipsets.

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
13 years agoi965: SNB GT1 has only 32k urb and max 128 urb entries.
Zou Nan hai [Thu, 3 Mar 2011 02:30:06 +0000 (10:30 +0800)]
i965: SNB GT1 has only 32k urb and max 128 urb entries.

Signed-off-by: Zou Nan hai <nanhai.zou@intel.com>
13 years agoglsl: Remove unused glcpp/Makefile.am.
Kenneth Graunke [Wed, 2 Mar 2011 23:23:10 +0000 (15:23 -0800)]
glsl: Remove unused glcpp/Makefile.am.

This is a remnant of when glsl2 lived in its own repository.

13 years agoglsl: Remove 'tests' subfolder.
Kenneth Graunke [Wed, 2 Mar 2011 23:22:46 +0000 (15:22 -0800)]
glsl: Remove 'tests' subfolder.

These have long since moved to piglit and aren't useful to have here.

13 years agor600g: correct mega_fetch_count in fetch shader
Christian König [Wed, 2 Mar 2011 22:47:41 +0000 (23:47 +0100)]
r600g: correct mega_fetch_count in fetch shader

13 years agotgsi: defer allocation of huge inputs/outputs until we have a gs
Zack Rusin [Wed, 2 Mar 2011 03:50:42 +0000 (22:50 -0500)]
tgsi: defer allocation of huge inputs/outputs until we have a gs

13 years agodocs: added news item for 7.9.2 and 7.10.1 releases
Ian Romanick [Wed, 2 Mar 2011 22:33:59 +0000 (14:33 -0800)]
docs: added news item for 7.9.2 and 7.10.1 releases

13 years agodocs: All links to 7.9.2 and 7.10.1 release notes
Ian Romanick [Wed, 2 Mar 2011 22:30:40 +0000 (14:30 -0800)]
docs: All links to 7.9.2 and 7.10.1 release notes

13 years agodocs: Import 7.10.1 release notes from 7.10 branch
Ian Romanick [Wed, 2 Mar 2011 22:28:08 +0000 (14:28 -0800)]
docs: Import 7.10.1 release notes from 7.10 branch

13 years agodocs: Import 7.9.2 release notes from 7.9 branch
Ian Romanick [Wed, 2 Mar 2011 22:27:52 +0000 (14:27 -0800)]
docs: Import 7.9.2 release notes from 7.9 branch

13 years agonv50: fix IB index buffer path
Christoph Bumiller [Wed, 2 Mar 2011 21:36:22 +0000 (22:36 +0100)]
nv50: fix IB index buffer path

Add missing VERTEX_END and treat unaligned offsets correctly.

13 years agonv50: fix POINT_COORD_REPLACE_MAP method size
Christoph Bumiller [Wed, 2 Mar 2011 20:07:33 +0000 (21:07 +0100)]
nv50: fix POINT_COORD_REPLACE_MAP method size

Introduced in 223d98bb8d49c9e52e498a12980722467ae2bf87.

13 years agonv50: primitive restart trick for vertex data through FIFO mode
Christoph Bumiller [Wed, 2 Mar 2011 19:48:20 +0000 (20:48 +0100)]
nv50: primitive restart trick for vertex data through FIFO mode

Also, on nv50 the VERTEX_BEGIN method doesn't follow VERTEX_END,
which was erroneously taken over from nvc0 and is fixed now.

13 years agonv50: fix depth clamp for disabled primitive clipping
Christoph Bumiller [Wed, 2 Mar 2011 19:15:01 +0000 (20:15 +0100)]
nv50: fix depth clamp for disabled primitive clipping

13 years agonv50: implement independent blend functions for nva3+ and fix cap
Christoph Bumiller [Wed, 2 Mar 2011 18:41:08 +0000 (19:41 +0100)]
nv50: implement independent blend functions for nva3+ and fix cap

13 years agonv50: fix tile size calculations
Christoph Bumiller [Wed, 2 Mar 2011 18:21:46 +0000 (19:21 +0100)]
nv50: fix tile size calculations

13 years agonv50: fix point sprite state validation
Christoph Bumiller [Wed, 2 Mar 2011 18:02:59 +0000 (19:02 +0100)]
nv50: fix point sprite state validation

Wasn't updated if the FP didn't change, and coordinate replacement
wasn't disabled anymore.

13 years agonv50: allow accidentally disabled IB index buffers again
Christoph Bumiller [Wed, 2 Mar 2011 14:41:19 +0000 (15:41 +0100)]
nv50: allow accidentally disabled IB index buffers again

Must have sneaked in from debugging.

13 years agonv50: apply relocations to shader code
Christoph Bumiller [Wed, 2 Mar 2011 14:39:57 +0000 (15:39 +0100)]
nv50: apply relocations to shader code

On nv50, branches are absolute, so we need to adjust them according
to the shader's position in the code buffer.

13 years agonv50: fix wrong miptree tile flags taken over from nvc0
Christoph Bumiller [Wed, 2 Mar 2011 19:57:29 +0000 (20:57 +0100)]
nv50: fix wrong miptree tile flags taken over from nvc0

13 years agoegl_dri2 x11: Workaround device_name xcb-dri2 bug
Benjamin Franzke [Wed, 2 Mar 2011 20:23:04 +0000 (21:23 +0100)]
egl_dri2 x11: Workaround device_name xcb-dri2 bug

This commit is basically a copy-over of the fix
Chia-I Wu's commited to wayland:
   http://cgit.freedesktop.org/wayland/wayland-demos/commit/?id=1b6c0ed95
   "Workaround an xcb-dri2 bug.
    xcb_dri2_connect_device_name generated by xcb-proto 1.6 is broken.
    It only works when the length of the driver name is a multiple of 4."

13 years agoegl/wayland: build subdirs (wayland-drm) before depend
Benjamin Franzke [Wed, 2 Mar 2011 19:17:26 +0000 (20:17 +0100)]
egl/wayland: build subdirs (wayland-drm) before depend

Autogenerated files need to be generated first.

13 years agor300g: require DRM 2.3.0 (kernel 2.6.34)
Marek Olšák [Wed, 2 Mar 2011 16:51:19 +0000 (17:51 +0100)]
r300g: require DRM 2.3.0 (kernel 2.6.34)

Running any older kernel is not recommended anyway.

13 years agor300g: do not use ioctl thread offloading on single-core machines
Marek Olšák [Wed, 2 Mar 2011 16:37:52 +0000 (17:37 +0100)]
r300g: do not use ioctl thread offloading on single-core machines

13 years agomesa: added gl_program_constants::MaxAddressOffset
Brian Paul [Wed, 2 Mar 2011 16:32:45 +0000 (09:32 -0700)]
mesa: added gl_program_constants::MaxAddressOffset

See https://bugs.freedesktop.org/show_bug.cgi?id=29418

13 years agomesa: increase INST_INDEX_BITS to 12
Brian Paul [Wed, 2 Mar 2011 16:20:57 +0000 (09:20 -0700)]
mesa: increase INST_INDEX_BITS to 12

For more info see fd.o bug 29418.

13 years agoRevert "mesa: reduce calls to _mesa_test_framebuffer_completeness()"
Brian Paul [Wed, 2 Mar 2011 16:11:43 +0000 (09:11 -0700)]
Revert "mesa: reduce calls to _mesa_test_framebuffer_completeness()"

This reverts commit 1f9a0a4e6e5566c36c781add5f1e62af3efdfb58.

This caused trouble with Lightsmark w/ i965 driver and fbo/fbo-blit-d24s8
(see bug 34894).  It's probably something simple but no time to debug now.

13 years agovbo: fix error parameter
Brian Paul [Wed, 2 Mar 2011 02:11:44 +0000 (19:11 -0700)]
vbo: fix error parameter

Spotted by Ian.

13 years agor300g: Silence 'control reaches end of non-void function' warning.
Vinson Lee [Wed, 2 Mar 2011 08:43:09 +0000 (00:43 -0800)]
r300g: Silence 'control reaches end of non-void function' warning.

Fixes this GCC warning.
r300_hyperz.c: In function 'r300_get_hiz_func':
r300_hyperz.c:65: warning: control reaches end of non-void function

13 years agogallium: Add u_format_rgtc.c to SConscript.
Vinson Lee [Wed, 2 Mar 2011 07:02:50 +0000 (23:02 -0800)]
gallium: Add u_format_rgtc.c to SConscript.

13 years agoi965: Maxinum the usage of urb space on SNB.
Zou Nan hai [Wed, 2 Mar 2011 06:23:17 +0000 (14:23 +0800)]
i965: Maxinum the usage of urb space on SNB.
      SNB has 64k urb space, we only use piece of them.
      The more urb space we alloc,
      the more concurrent vs threads we can run.
      push the urb space usage to the limit.

Signed-off-by: Zou Nan hai <nanhai.zou@intel.com>
13 years agomesa/st: fix softpipe npot compressed mipmaps.
Dave Airlie [Wed, 2 Mar 2011 06:13:59 +0000 (16:13 +1000)]
mesa/st: fix softpipe npot compressed mipmaps.

this fixes fbo-generatemipmap-formats rgtc and s3tc in NPOT mode
with softpipe.

r600g fails to even get level 0 correct so have to look into that
a bit further.

Signed-off-by: Dave Airlie <airlied@redhat.com>
13 years agosoftpipe: enable RGTC now that we have u_format support.
Dave Airlie [Wed, 2 Mar 2011 04:36:22 +0000 (14:36 +1000)]
softpipe: enable RGTC now that we have u_format support.

13 years agomesa/st: fix generate mipmap for signed compressed formats.
Dave Airlie [Wed, 2 Mar 2011 05:28:32 +0000 (15:28 +1000)]
mesa/st: fix generate mipmap for signed compressed formats.

This was always converting to 8-bit per channel unsigned formats,
which isn't suitable for RGTC signed formats, this special cases
those two formats and converts to floats for those.

Signed-off-by: Dave Airlie <airlied@redhat.com>
13 years agogallium: add RGTC UNORM support to u_format.
Dave Airlie [Wed, 2 Mar 2011 04:34:14 +0000 (14:34 +1000)]
gallium: add RGTC UNORM support to u_format.

SNORM needs a bit of work in the state tracker in order for mipmap
generation to work I believe.

I'm also not sure that having unorm fetches for an snorm format is
sane.

13 years agorgtc: remove GL types from this file.
Dave Airlie [Wed, 2 Mar 2011 04:33:35 +0000 (14:33 +1000)]
rgtc: remove GL types from this file.

I'd like to share this file with gallium u_format stuff.

Signed-off-by: Dave Airlie <airlied@redhat.com>
13 years agorgtc: move the texel fetch into common unsigned/signed code.
Dave Airlie [Wed, 2 Mar 2011 04:16:39 +0000 (14:16 +1000)]
rgtc: move the texel fetch into common unsigned/signed code.

This function can be done in the include file also.

Signed-off-by: Dave Airlie <airlied@redhat.com>
13 years agorgtc: fix issues with compressor and signed types.
Dave Airlie [Wed, 2 Mar 2011 04:08:59 +0000 (14:08 +1000)]
rgtc: fix issues with compressor and signed types.

With signed types we weren't hitting this test however the comment
stating this doesn't happen often doesn't apply when using signed
types since an all 0 block is quite common which isn't abs min or max.

this fixes the limits correctly again also.

Signed-off-by: Dave Airlie <airlied@redhat.com>
13 years agorgtc: don't try to access off the end of the block.
Dave Airlie [Wed, 2 Mar 2011 03:14:34 +0000 (13:14 +1000)]
rgtc: don't try to access off the end of the block.

if the values are all in the last dword, the high bits can be 0,

This fixes a valgrind warning I saw when playing with mipmaps.

Signed-off-by: Dave Airlie <airlied@redhat.com>
13 years agorgtc: move to using ubyte for fetch instead of chan + fix limit
Dave Airlie [Wed, 2 Mar 2011 03:01:01 +0000 (13:01 +1000)]
rgtc: move to using ubyte for fetch instead of chan + fix limit

My previous fix to the byte max was incorrect.

Signed-off-by: Dave Airlie <airlied@redhat.com>
13 years agost/mesa: use RGTC for GL_COMPRESSED_RED/RG if possible
Marek Olšák [Tue, 1 Mar 2011 20:15:38 +0000 (21:15 +0100)]
st/mesa: use RGTC for GL_COMPRESSED_RED/RG if possible

With proper fallback formats.

13 years agosvga: reduce MAX_DMA_SIZE to 4MB
Brian Paul [Wed, 2 Mar 2011 00:40:27 +0000 (17:40 -0700)]
svga: reduce MAX_DMA_SIZE to 4MB

13 years agovbo: add vbo_always_unmap_buffers()
Brian Paul [Wed, 2 Mar 2011 00:16:53 +0000 (17:16 -0700)]
vbo: add vbo_always_unmap_buffers()

Drivers can call this function as needed.  It tells the VBO module to
always unmap the current glBegin/glEnd VBO when we flush.  Otherwise
it's possible to be in a flushed state but still have the VBO mapped.

13 years agovbo: generate GL_INVALID_VALUE for bad glVertexAttrib index
Brian Paul [Wed, 2 Mar 2011 00:16:00 +0000 (17:16 -0700)]
vbo: generate GL_INVALID_VALUE for bad glVertexAttrib index

13 years agoi915g: remove extra semicolon
Brian Paul [Wed, 2 Mar 2011 00:09:15 +0000 (17:09 -0700)]
i915g: remove extra semicolon

13 years agomesa: Revert most of 3158cc7d because it causes other breakage
Ian Romanick [Tue, 1 Mar 2011 23:45:43 +0000 (15:45 -0800)]
mesa: Revert most of 3158cc7d because it causes other breakage

13 years agor300g: accelerate resoure_copy_region for rgtc
Marek Olšák [Tue, 1 Mar 2011 20:15:20 +0000 (21:15 +0100)]
r300g: accelerate resoure_copy_region for rgtc

13 years agoscons: Use Flex and Bison to generate lexer/parser files.
Kenneth Graunke [Tue, 1 Mar 2011 23:04:04 +0000 (15:04 -0800)]
scons: Use Flex and Bison to generate lexer/parser files.

This gets it building again here; I'll leave it up to the SCons
maintainers to make further improvements.

13 years agoglsl: Rename .lpp to .ll and .ypp to .yy.
Kenneth Graunke [Tue, 1 Mar 2011 23:13:04 +0000 (15:13 -0800)]
glsl: Rename .lpp to .ll and .ypp to .yy.

SCons has built-in support for .ll and .yy, but not .lpp and .ypp. Since
there's no real benefit to using the old names, change them.

13 years agorgtc: fix fetch function limits for signed types
Dave Airlie [Tue, 1 Mar 2011 23:52:53 +0000 (09:52 +1000)]
rgtc: fix fetch function limits for signed types

13 years agorgtc: fixup mipmap generation
Dave Airlie [Tue, 1 Mar 2011 23:48:40 +0000 (09:48 +1000)]
rgtc: fixup mipmap generation

this allows swrast to pass mipmap generation for these formats.

13 years agoswrast/rgtc: fix rendering issues introduced when fix constants
Dave Airlie [Tue, 1 Mar 2011 23:41:38 +0000 (09:41 +1000)]
swrast/rgtc: fix rendering issues introduced when fix constants

The max value was wrong and this showed up in the piglit tests.

13 years agor600g: change the cross over point for 2d->1d
Dave Airlie [Tue, 1 Mar 2011 23:14:01 +0000 (09:14 +1000)]
r600g: change the cross over point for 2d->1d

this fixes some rendering in the fbo-generatemipmap-formats test on
my rv610.

Signed-off-by: Dave Airlie <airlied@redhat.com>
13 years agomesa: Fix build breakage caused by c73e6ce
Ian Romanick [Tue, 1 Mar 2011 23:22:43 +0000 (15:22 -0800)]
mesa: Fix build breakage caused by c73e6ce

13 years agoegl: Add EGL_WL_bind_wayland_display
Benjamin Franzke [Mon, 21 Feb 2011 15:22:34 +0000 (16:22 +0100)]
egl: Add EGL_WL_bind_wayland_display

13 years agoGenerate lexer and parser files for tarball creation process
Ian Romanick [Sat, 12 Feb 2011 00:44:11 +0000 (16:44 -0800)]
Generate lexer and parser files for tarball creation process

13 years agoAdd generated parser / lexer files to gitignore lists
Ian Romanick [Sat, 12 Feb 2011 00:37:05 +0000 (16:37 -0800)]
Add generated parser / lexer files to gitignore lists

13 years agomesa: Fix some quirkiness of make tarballs
Ian Romanick [Sat, 12 Feb 2011 00:27:22 +0000 (16:27 -0800)]
mesa: Fix some quirkiness of make tarballs

Among other benefits, parallel makes now work.  Since many people have
parallel builds by default (via MAKEFLAGS environment variable), this
sames some irritation at release time...when there's usually not any
other irritation already.

13 years agomesa: Remove nonexistent files from distribution list
Ian Romanick [Sat, 12 Feb 2011 00:26:31 +0000 (16:26 -0800)]
mesa: Remove nonexistent files from distribution list

13 years agomesa: Remove files generated by flex and bison from GIT
Ian Romanick [Mon, 31 Jan 2011 23:42:46 +0000 (15:42 -0800)]
mesa: Remove files generated by flex and bison from GIT

These files were for the ARB_vertex_program / ARB_fragement_program assembler.

13 years agoglcpp: Remove files generated by flex and bison from GIT
Ian Romanick [Mon, 31 Jan 2011 23:41:39 +0000 (15:41 -0800)]
glcpp: Remove files generated by flex and bison from GIT

13 years agoglsl: Remove files generated by flex and bison from GIT
Ian Romanick [Mon, 31 Jan 2011 23:41:12 +0000 (15:41 -0800)]
glsl: Remove files generated by flex and bison from GIT

13 years agoi915g: kill relocs accouting
Daniel Vetter [Sat, 26 Feb 2011 20:40:52 +0000 (21:40 +0100)]
i915g: kill relocs accouting

No one ever cared. libdrm does dynamic resizing of its reloc-table,
anyway.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
13 years agoi915g: switch to the exact batch space reservation code
Daniel Vetter [Sat, 26 Feb 2011 16:14:17 +0000 (17:14 +0100)]
i915g: switch to the exact batch space reservation code

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
13 years agoi915g: split up hw state emission into small atoms
Daniel Vetter [Tue, 1 Mar 2011 21:14:50 +0000 (22:14 +0100)]
i915g: split up hw state emission into small atoms

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
13 years agost/mesa: probably handle instanced drawing
Christian König [Tue, 1 Mar 2011 00:14:12 +0000 (01:14 +0100)]
st/mesa: probably handle instanced drawing

Remove the previous workaround for instanced drawing and implement it correctly.

13 years agoi915g: fix i915_winsys_batchbuffer_write
Daniel Vetter [Tue, 1 Mar 2011 19:36:12 +0000 (20:36 +0100)]
i915g: fix i915_winsys_batchbuffer_write

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
13 years agointel: Support glCopyTexImage() from ARGB8888 to XRGB8888.
Kenneth Graunke [Tue, 1 Mar 2011 19:15:34 +0000 (11:15 -0800)]
intel: Support glCopyTexImage() from ARGB8888 to XRGB8888.

Nexuiz was hitting a software fallback.

13 years agoconfigure: Bump libdrm requirements
Chris Wilson [Tue, 1 Mar 2011 18:39:15 +0000 (18:39 +0000)]
configure: Bump libdrm requirements

In my last commit I introduced a build dependency upon a new libdrm.
Add the associated autoconf checks. As the headers are part of the core
libdrm, we need to bump that version and so may as well bump the chipset
specific versions simultaneously.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
13 years agor300g: initialize some r500 PS3 regs
Marek Olšák [Tue, 1 Mar 2011 18:02:29 +0000 (19:02 +0100)]
r300g: initialize some r500 PS3 regs

13 years agor300g: document some more DRM 2.8.0 features
Marek Olšák [Tue, 1 Mar 2011 17:42:44 +0000 (18:42 +0100)]
r300g: document some more DRM 2.8.0 features

13 years agoi965: Use negative relocation deltas to minimse vertex uploads
Chris Wilson [Tue, 1 Mar 2011 14:46:50 +0000 (14:46 +0000)]
i965: Use negative relocation deltas to minimse vertex uploads

With relaxed relocation checking in the kernel, we can specify a
negative delta (i.e. pointing outside of the target bo) in order to fake
a range in a large buffer. We only then need to upload the elements used
and adjust the buffer offset such that they correspond with the indices
used in the DrawArrays.

(Depends on libdrm 0209428b3918c4336018da9293cdcbf7f8fedfb6)

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
13 years agoi965: Undo 'continuation of vb packets'
Chris Wilson [Tue, 1 Mar 2011 15:57:42 +0000 (15:57 +0000)]
i965: Undo 'continuation of vb packets'

This breaks nexuiz for unknown reason; disable until a true fix can be
found.

13 years agoi965: Fix uploading of shortened vertex packets
Chris Wilson [Tue, 1 Mar 2011 14:12:22 +0000 (14:12 +0000)]
i965: Fix uploading of shortened vertex packets

... handle all cases and not just the interleaved upload.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
13 years agoi965: Upload all vertices used
Chris Wilson [Thu, 24 Feb 2011 14:06:55 +0000 (14:06 +0000)]
i965: Upload all vertices used

... and take advantage of start_vertex_bias to trim to [min_index,
max_index] where possible (i.e. when we need to upload all arrays).

Fixes half_float_vertex(misc.fillmode.wireframe)

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=34595
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
13 years agost/egl: Implement swapbuffer throttling
Thomas Hellstrom [Fri, 25 Feb 2011 12:05:31 +0000 (13:05 +0100)]
st/egl: Implement swapbuffer throttling

When doing copy swapbuffers using drm, throttle on outstanding copy operations.
Introduces a new environment variable, EGL_THROTTLE_FENCES that the
user can use to indicate the desired number of outstanding swapbuffers, or
disable throttling using EGL_THROTTLE_FENCES=0.

This can and perhaps should be extended to the pageflip case as well, since
with some hardware pageflips can be pipelined. In case the pageflip syncs, the
throttle operation will be a no-op anyway.

Update copyright notices.

Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
13 years agost/egl/drm: Rework swapbuffers
Thomas Hellstrom [Thu, 24 Feb 2011 14:09:45 +0000 (15:09 +0100)]
st/egl/drm: Rework swapbuffers

Use the pageflip ioctl when available.
Otherwise, or when the backbuffer contents need to be preserved,
fall back to a copy operation.

Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
13 years agost/egl: Add a helper to perform a copy swap on a resource surface
Thomas Hellstrom [Thu, 24 Feb 2011 12:03:07 +0000 (13:03 +0100)]
st/egl: Add a helper to perform a copy swap on a resource surface

The copy swap can be used when we need to preserve the contents of
the back buffer or when there is no way to do native page-flipping.

Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
13 years agost/egl: Move the copy context to the native display structure
Thomas Hellstrom [Thu, 24 Feb 2011 11:59:41 +0000 (12:59 +0100)]
st/egl: Move the copy context to the native display structure

This makes it usable also for native helpers.
Also add inline functions to access the context and to
uninit the native display structure.

Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
13 years agoRevert "i965/fs: Correctly set up gl_FragCoord.w on Sandybridge."
Kenneth Graunke [Tue, 1 Mar 2011 09:07:19 +0000 (01:07 -0800)]
Revert "i965/fs: Correctly set up gl_FragCoord.w on Sandybridge."

This reverts commit 4a3b28113c3d23ba21bb8b8f5ebab7c567083a6d, as it
caused a regression on Ironlake (bug #34646).