Commit graph

42869 commits

Author SHA1 Message Date
Ian Romanick
09a4ba0fc3 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.
2011-03-04 16:33:31 -08:00
Ian Romanick
0292ffb85c glsl: Refactor AST-to-HIR code handling variable initializers 2011-03-04 16:32:37 -08:00
Ian Romanick
8e6cb9fe51 glsl: Refactor AST-to-HIR code handling variable redeclarations 2011-03-04 16:32:37 -08:00
Christoph Bumiller
b0698396dc nv50,nvc0: get format desc for TIC entry from sampler view format
Fixes piglit/tex-srgb.
2011-03-05 00:51:07 +01:00
Christoph Bumiller
1f5d6fc59b nv50,nvc0: share sampler state creation 2011-03-05 00:51:07 +01:00
Christoph Bumiller
e4c968cdbb 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.
2011-03-05 00:51:07 +01:00
Christoph Bumiller
f556b897eb 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.
2011-03-05 00:51:07 +01:00
Christoph Bumiller
4fae7da9a3 nv50,nvc0: fix texture layer issues 2011-03-05 00:51:07 +01:00
Jakob Bornecrantz
9f0acfe138 i915g: Use tgsi_info from fragment shader instead 2011-03-05 00:23:27 +01:00
Daniel Vetter
98b418e56e 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>
2011-03-04 23:46:20 +01:00
Benjamin Franzke
22d9ae11bc egl_dri2: Fix incompatible vfunc-pointer warning 2011-03-04 16:36:37 -05:00
Benjamin Franzke
e71920929e egl/wayland: Move wayland-egl into a subdir
This hopefully fixes wayland-egl's dependency
resolution for autogenerated wayland-drm headers.
2011-03-04 16:36:37 -05:00
Eric Anholt
1a57717bbe 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)
2011-03-04 12:04:42 -08:00
Marek Olšák
bdb811772f r300g: preliminary implementation of clamping controls 2011-03-04 17:47:56 +01:00
Marek Olšák
10a893106b r300g: implement FP16 alpha test 2011-03-04 17:47:56 +01:00
Marek Olšák
910bac63df 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.
2011-03-04 17:47:56 +01:00
José Fonseca
4a4f6a3901 draw: Silence tgsi_emit_sse2 failed messages. 2011-03-04 16:29:13 +00:00
José Fonseca
6838c9ce74 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.
2011-03-04 14:54:24 +00:00
José Fonseca
c8e904e159 scons: Unbreak mingw cross compilation. 2011-03-04 14:44:39 +00:00
Marek Olšák
ba48811fa8 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.
2011-03-04 14:52:45 +01:00
José Fonseca
5378983417 scons: Get glsl2 and glcpp programs building correctly. 2011-03-04 13:11:49 +00:00
José Fonseca
12d17bcadf glsl/glcpp: Use stdio.h instead of unistd.h. 2011-03-04 12:53:14 +00:00
José Fonseca
f52660c3dc glsl: Define YY_NO_UNISTD_H on MSVC. 2011-03-04 12:49:55 +00:00
José Fonseca
d40b868db5 gallium: Define __func__ on MSVC. 2011-03-04 11:55:36 +00:00
Christoph Bumiller
cf143c1f4d Merge remote branch 'origin/nvc0' 2011-03-04 11:02:10 +01:00
Chris Wilson
9d31138f53 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>
2011-03-04 09:58:31 +00:00
Chris Wilson
18dd7932c7 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>
2011-03-04 09:58:31 +00:00
Chris Wilson
1546291e5b i965: Align index to type size and flush if the type changes
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-03-04 09:58:31 +00:00
Chris Wilson
1c0d09cd4e intel: Add couple of missing gen6 commands to decode
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-03-04 09:58:31 +00:00
Chris Wilson
b93684f5f3 i965: Prevent using a zero sized (or of unknown type) vertex array
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-03-04 09:58:30 +00:00
Dave Airlie
137d44e0f2 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>
2011-03-04 08:47:10 +10:00
José Fonseca
9f3c59a350 tgsi: Update assert.
Elements(mach->Inputs) is wrong now that mach->Inputs is dynamically
allocated.
2011-03-03 19:23:04 +00:00
Kenneth Graunke
09e1bebc25 glcpp: Remove trailing contexts from #if rules.
These are now unnecessary.
2011-03-03 10:42:37 -08:00
Kenneth Graunke
f20656e944 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.
2011-03-03 10:42:37 -08:00
Kenneth Graunke
b56f30c2b2 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.
2011-03-03 10:42:37 -08:00
Jakob Bornecrantz
4bd27cfecc rbug: Fix depth stencil surface not being sent to the client 2011-03-03 18:29:17 +00:00
José Fonseca
5d0e8beaa2 scons: More tweaks to fix MinGW build. 2011-03-03 16:57:38 +00:00
José Fonseca
dbfbb8cf6d scons: Ensure generated headers are in the include path. 2011-03-03 15:43:18 +00:00
José Fonseca
54d8c5e3c2 scons: Add human friendlier build messages for lex/yacc. 2011-03-03 15:42:58 +00:00
José Fonseca
8987109c27 scons: Always load lex/yacc tool.
lex/yacc is not loaded by default when toolchain is not default either,
e.g., when toolchain=crossmingw.
2011-03-03 15:28:36 +00:00
Christoph Bumiller
3bf92a281b nv50: check grclass instead of chipset for 3D caps 2011-03-03 12:32:40 +01:00
Christoph Bumiller
7048ad62f8 nv50: increase size of shader code bo
512 KiB should be quite enough, but dynamic resize might be nicer.
2011-03-03 12:32:40 +01:00
Ben Skeggs
6b4e3e8941 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>
2011-03-03 15:56:20 +10:00
Zou Nan hai
118ecb1a22 i965: SNB GT1 has only 32k urb and max 128 urb entries.
Signed-off-by: Zou Nan hai <nanhai.zou@intel.com>
2011-03-03 10:30:06 +08:00
Kenneth Graunke
2e756f3d6f glsl: Remove unused glcpp/Makefile.am.
This is a remnant of when glsl2 lived in its own repository.
2011-03-02 15:25:49 -08:00
Kenneth Graunke
8be828c3b3 glsl: Remove 'tests' subfolder.
These have long since moved to piglit and aren't useful to have here.
2011-03-02 15:25:49 -08:00
Christian König
8d9ea4c4e7 r600g: correct mega_fetch_count in fetch shader 2011-03-03 00:23:15 +01:00
Zack Rusin
ff2a0faba0 tgsi: defer allocation of huge inputs/outputs until we have a gs 2011-03-02 17:45:22 -05:00
Ian Romanick
d569cc4d44 docs: added news item for 7.9.2 and 7.10.1 releases 2011-03-02 14:37:59 -08:00
Ian Romanick
910820daf4 docs: All links to 7.9.2 and 7.10.1 release notes 2011-03-02 14:37:59 -08:00