Marek Olšák [Fri, 4 Mar 2011 17:46:09 +0000 (18:46 +0100)]
r300g: cleanup parameters of draw functions
Christoph Bumiller [Sat, 5 Mar 2011 13:41:08 +0000 (14:41 +0100)]
nv50: support the InstanceID system value
Christian König [Sat, 5 Mar 2011 12:40:55 +0000 (13:40 +0100)]
r600g: simplify instance addr calculation
Use MULHI_UINT instead of the more complex
INT_TO_FLT->MUL->TRUNC->FLT_TO_INT
Vinson Lee [Sat, 5 Mar 2011 01:15:21 +0000 (17:15 -0800)]
nvc0: Update SConscript.
Vinson Lee [Sat, 5 Mar 2011 01:10:57 +0000 (17:10 -0800)]
nv50: Update SConscript.
Christian König [Sat, 5 Mar 2011 00:46:31 +0000 (01:46 +0100)]
r600g: fix fragment shader size calculation
bc.ndw is altered in r600_bc_build, respect that
in fragment shader size calculation.
Ian Romanick [Sat, 5 Mar 2011 00:15:20 +0000 (16:15 -0800)]
glsl: Process redeclarations before initializers
If an array redeclaration includes an initializer, the initializer
would previously be dropped on the floor. Instead, directly apply the
initializer to the correct ir_variable instance and append the
generated instructions.
Fixes bugzilla #34374 and piglit tests glsl-{vs,fs}-array-redeclaration.
NOTE: This is a candidate for stable release branches.
0292ffb8 and
8e6cb9fe are also necessary.
Ian Romanick [Fri, 4 Mar 2011 23:29:33 +0000 (15:29 -0800)]
glsl: Refactor AST-to-HIR code handling variable initializers
Ian Romanick [Fri, 4 Mar 2011 23:28:40 +0000 (15:28 -0800)]
glsl: Refactor AST-to-HIR code handling variable redeclarations
Christoph Bumiller [Fri, 4 Mar 2011 21:17:36 +0000 (22:17 +0100)]
nv50,nvc0: get format desc for TIC entry from sampler view format
Fixes piglit/tex-srgb.
Christoph Bumiller [Fri, 4 Mar 2011 21:15:17 +0000 (22:15 +0100)]
nv50,nvc0: share sampler state creation
Christoph Bumiller [Fri, 4 Mar 2011 22:54:42 +0000 (23:54 +0100)]
nv50,nvc0: update the format tables
Removed sampler view support for USCALED/SSCALED, the texture unit
refuses to convert to non-normalized float. The enums are treated
like UNORM.
Removed duplicate format related headers.
Christoph Bumiller [Fri, 4 Mar 2011 17:17:05 +0000 (18:17 +0100)]
nvc0: use m2mf for resource_copy_region if formats are equal
Which is always the case, but we'll keep the 2D engine blitter
nonetheless.
Christoph Bumiller [Fri, 4 Mar 2011 23:05:14 +0000 (00:05 +0100)]
nv50,nvc0: fix texture layer issues
Jakob Bornecrantz [Fri, 4 Mar 2011 22:57:16 +0000 (23:57 +0100)]
i915g: Use tgsi_info from fragment shader instead
Daniel Vetter [Fri, 4 Mar 2011 22:44:39 +0000 (23:44 +0100)]
i915g: use passthough shader for empty fragment programs
The hw doesn't like it - demos/shadowtex is broken. The emitted shader
isn't totally empty though, the depth write fixup gets emitted instead.
Maybe that one is somewhat fishy, too?
Idea for this patch from Jakob Bornecrantz.
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Benjamin Franzke [Thu, 3 Mar 2011 10:22:09 +0000 (11:22 +0100)]
egl_dri2: Fix incompatible vfunc-pointer warning
Benjamin Franzke [Thu, 3 Mar 2011 10:05:03 +0000 (11:05 +0100)]
egl/wayland: Move wayland-egl into a subdir
This hopefully fixes wayland-egl's dependency
resolution for autogenerated wayland-drm headers.
Eric Anholt [Tue, 22 Feb 2011 07:46:52 +0000 (23:46 -0800)]
i965: Apply a workaround for the Ironlake "vertex flashing".
This is an awful hack and will hurt performance on Ironlake, but we're
at a loss as to what's going wrong otherwise. This is the only common
variable we've found that avoids the problem on 4 applications
(CelShading, gnome-shell, Pill Popper, and my GLSL demo), while other
variables we've tried appear to only be confounding. Neither the
specifications nor the hardware team have been able to provide any
enlightenment, despite much searching.
https://bugs.freedesktop.org/show_bug.cgi?id=29172
Tested by: Chris Lord <chris@linux.intel.com> (Pill Popper)
Tested by: Ryan Lortie <desrt@desrt.ca> (gnome-shell)
Marek Olšák [Tue, 15 Feb 2011 23:50:25 +0000 (00:50 +0100)]
r300g: preliminary implementation of clamping controls
Marek Olšák [Fri, 4 Mar 2011 16:28:44 +0000 (17:28 +0100)]
r300g: implement FP16 alpha test
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.