Marek Olšák [Fri, 4 Mar 2011 15:39:51 +0000 (16:39 +0100)]
r300g: implement blending for some of non-RGBA8 formats
Blending is now fully supported with:
- R8_UNORM
- R8G8_UNORM
- B8G8R8A8_UNORM
- R16G16B16A16_FLOAT (r500-only)
Blending is partially supported (DST_ALPHA not working) with:
- L8A8_UNORM
- I8_UNORM
- B5G5R5A1_UNORM
- B10G10R10A2_UNORM
The other formats can't do blending.
José Fonseca [Fri, 4 Mar 2011 16:29:13 +0000 (16:29 +0000)]
draw: Silence tgsi_emit_sse2 failed messages.
José Fonseca [Fri, 4 Mar 2011 14:54:24 +0000 (14:54 +0000)]
tgsi: Disable SSE2 code generation.
It's broken now that tgsi_exec_machine::Inputs/Ouputs are pointers.
Temporary if anybody still cares about tgsi_sse2.c. Permanent otherwise.
José Fonseca [Fri, 4 Mar 2011 14:29:06 +0000 (14:29 +0000)]
scons: Unbreak mingw cross compilation.
Marek Olšák [Fri, 4 Mar 2011 05:38:13 +0000 (06:38 +0100)]
st/mesa: set PIPE_BIND_RENDER_TARGET for sRGB formats if UNORM is supported
Because the format can be changed to UNORM in a surface.
This fixes:
state_tracker/st_atom_framebuffer.c:163:update_framebuffer_state:
Assertion `framebuffer->cbufs[i]->texture->bind & (1 << 1)' failed.
José Fonseca [Fri, 4 Mar 2011 13:11:49 +0000 (13:11 +0000)]
scons: Get glsl2 and glcpp programs building correctly.
José Fonseca [Fri, 4 Mar 2011 12:53:14 +0000 (12:53 +0000)]
glsl/glcpp: Use stdio.h instead of unistd.h.
José Fonseca [Fri, 4 Mar 2011 12:49:55 +0000 (12:49 +0000)]
glsl: Define YY_NO_UNISTD_H on MSVC.
José Fonseca [Fri, 4 Mar 2011 11:46:13 +0000 (11:46 +0000)]
gallium: Define __func__ on MSVC.
Christoph Bumiller [Fri, 4 Mar 2011 10:02:10 +0000 (11:02 +0100)]
Merge remote branch 'origin/nvc0'
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>
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>
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>
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>
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>
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>
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.
Kenneth Graunke [Thu, 3 Mar 2011 17:52:36 +0000 (09:52 -0800)]
glcpp: Remove trailing contexts from #if rules.
These are now unnecessary.
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.
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.
Jakob Bornecrantz [Thu, 3 Mar 2011 18:25:49 +0000 (18:25 +0000)]
rbug: Fix depth stencil surface not being sent to the client
José Fonseca [Thu, 3 Mar 2011 16:57:38 +0000 (16:57 +0000)]
scons: More tweaks to fix MinGW build.
José Fonseca [Thu, 3 Mar 2011 15:43:18 +0000 (15:43 +0000)]
scons: Ensure generated headers are in the include path.
José Fonseca [Thu, 3 Mar 2011 15:42:58 +0000 (15:42 +0000)]
scons: Add human friendlier build messages for lex/yacc.
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.
Christoph Bumiller [Thu, 3 Mar 2011 11:31:35 +0000 (12:31 +0100)]
nv50: check grclass instead of chipset for 3D caps
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.
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>
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>
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.
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.
Christian König [Wed, 2 Mar 2011 22:47:41 +0000 (23:47 +0100)]
r600g: correct mega_fetch_count in fetch shader
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
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
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
Ian Romanick [Wed, 2 Mar 2011 22:28:08 +0000 (14:28 -0800)]
docs: Import 7.10.1 release notes from 7.10 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
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.
Christoph Bumiller [Wed, 2 Mar 2011 20:07:33 +0000 (21:07 +0100)]
nv50: fix POINT_COORD_REPLACE_MAP method size
Introduced in
223d98bb8d49c9e52e498a12980722467ae2bf87.
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.
Christoph Bumiller [Wed, 2 Mar 2011 19:15:01 +0000 (20:15 +0100)]
nv50: fix depth clamp for disabled primitive clipping
Christoph Bumiller [Wed, 2 Mar 2011 18:41:08 +0000 (19:41 +0100)]
nv50: implement independent blend functions for nva3+ and fix cap
Christoph Bumiller [Wed, 2 Mar 2011 18:21:46 +0000 (19:21 +0100)]
nv50: fix tile size calculations
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.
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.
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.
Christoph Bumiller [Wed, 2 Mar 2011 19:57:29 +0000 (20:57 +0100)]
nv50: fix wrong miptree tile flags taken over from nvc0
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."
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.
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.
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
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
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.
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.
Brian Paul [Wed, 2 Mar 2011 02:11:44 +0000 (19:11 -0700)]
vbo: fix error parameter
Spotted by Ian.
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
Vinson Lee [Wed, 2 Mar 2011 07:02:50 +0000 (23:02 -0800)]
gallium: Add u_format_rgtc.c to SConscript.
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>
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>
Dave Airlie [Wed, 2 Mar 2011 04:36:22 +0000 (14:36 +1000)]
softpipe: enable RGTC now that we have u_format support.
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>
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.
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>
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>
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>
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>
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>
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.
Brian Paul [Wed, 2 Mar 2011 00:40:27 +0000 (17:40 -0700)]
svga: reduce MAX_DMA_SIZE to 4MB
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.
Brian Paul [Wed, 2 Mar 2011 00:16:00 +0000 (17:16 -0700)]
vbo: generate GL_INVALID_VALUE for bad glVertexAttrib index
Brian Paul [Wed, 2 Mar 2011 00:09:15 +0000 (17:09 -0700)]
i915g: remove extra semicolon
Ian Romanick [Tue, 1 Mar 2011 23:45:43 +0000 (15:45 -0800)]
mesa: Revert most of
3158cc7d because it causes other breakage
Marek Olšák [Tue, 1 Mar 2011 20:15:20 +0000 (21:15 +0100)]
r300g: accelerate resoure_copy_region for rgtc
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.
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.
Dave Airlie [Tue, 1 Mar 2011 23:52:53 +0000 (09:52 +1000)]
rgtc: fix fetch function limits for signed types
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.
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.
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>
Ian Romanick [Tue, 1 Mar 2011 23:22:43 +0000 (15:22 -0800)]
mesa: Fix build breakage caused by
c73e6ce
Benjamin Franzke [Mon, 21 Feb 2011 15:22:34 +0000 (16:22 +0100)]
egl: Add EGL_WL_bind_wayland_display
Ian Romanick [Sat, 12 Feb 2011 00:44:11 +0000 (16:44 -0800)]
Generate lexer and parser files for tarball creation process
Ian Romanick [Sat, 12 Feb 2011 00:37:05 +0000 (16:37 -0800)]
Add generated parser / lexer files to gitignore lists
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.
Ian Romanick [Sat, 12 Feb 2011 00:26:31 +0000 (16:26 -0800)]
mesa: Remove nonexistent files from distribution list
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.
Ian Romanick [Mon, 31 Jan 2011 23:41:39 +0000 (15:41 -0800)]
glcpp: 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
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>
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>
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>
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.
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>
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.
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>
Marek Olšák [Tue, 1 Mar 2011 18:02:29 +0000 (19:02 +0100)]
r300g: initialize some r500 PS3 regs
Marek Olšák [Tue, 1 Mar 2011 17:42:44 +0000 (18:42 +0100)]
r300g: document some more DRM 2.8.0 features
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>
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.