mesa.git
13 years agoglsl: Remove the ir_binop_cross opcode.
Kenneth Graunke [Wed, 17 Nov 2010 21:59:17 +0000 (13:59 -0800)]
glsl: Remove the ir_binop_cross opcode.

13 years agoRefresh autogenerated file builtin_function.cpp.
Kenneth Graunke [Wed, 17 Nov 2010 21:37:16 +0000 (13:37 -0800)]
Refresh autogenerated file builtin_function.cpp.

13 years agoglsl: Reimplement the "cross" built-in without ir_binop_cross.
Kenneth Graunke [Wed, 17 Nov 2010 21:20:30 +0000 (13:20 -0800)]
glsl: Reimplement the "cross" built-in without ir_binop_cross.

We are not aware of any GPU that actually implements the cross product
as a single instruction.  Hence, there's no need for it to be an opcode.
Future commits will remove it entirely.

13 years agoRegenerate glcpp parser.
Kenneth Graunke [Wed, 17 Nov 2010 20:53:07 +0000 (12:53 -0800)]
Regenerate glcpp parser.

13 years agoglsl: Unconditionally define GL_FRAGMENT_PRECISION_HIGH in ES2 shaders.
Kenneth Graunke [Wed, 17 Nov 2010 20:50:35 +0000 (12:50 -0800)]
glsl: Unconditionally define GL_FRAGMENT_PRECISION_HIGH in ES2 shaders.

This is really supposed to be defined only if the driver supports highp
in the fragment shader - but all of our current ES2 implementations do.
So, just define it.  In the future, we'll need to add a flag to
gl_context and only define the macro if the flag is set.

"Fixes" freedesktop.org bug #31673.

13 years agoegl_dri2: Add missing intel chip ids.
Robert Hooker [Tue, 16 Nov 2010 20:10:20 +0000 (15:10 -0500)]
egl_dri2: Add missing intel chip ids.

Signed-off-by: Robert Hooker <robert.hooker@canonical.com>
13 years agoglsl: Fix Doxygen tag \file in recently renamed files
Chad Versace [Wed, 17 Nov 2010 18:43:10 +0000 (10:43 -0800)]
glsl: Fix Doxygen tag \file in recently renamed files

13 years agoglsl: Fix erroneous cast in ast_jump_statement::hir()
Chad Versace [Wed, 17 Nov 2010 18:28:01 +0000 (10:28 -0800)]
glsl: Fix erroneous cast in ast_jump_statement::hir()

Return values were erroneously cast from (ir_rvalue*) to (ir_expression*).

NOTE: This is a candidate for the 7.9 branch.

13 years agoglsl: Fix constant expression handling for <, >, <=, >= on vectors.
Kenneth Graunke [Wed, 17 Nov 2010 18:40:28 +0000 (10:40 -0800)]
glsl: Fix constant expression handling for <, >, <=, >= on vectors.

ir_binop_less, ir_binop_greater, ir_binop_lequal, and ir_binop_gequal
are defined to work on vectors as well as scalars, as long as the two
operands have the same type.

This is evident from both ir_validate.cpp and our use of these opcodes
in the GLSL lessThan, greaterThan, lessThanEqual, greaterThanEqual
built-in functions.

Found by code inspection.  Not known to fix any bugs.  Presumably, our
tests for the built-in comparison functions must pass because C.E.
handling is done on the ir_call of "greaterThan" rather than the inlined
opcode.  The C.E. handling of the built-in function calls is correct.

NOTE: This is a candidate for the 7.9 branch.

13 years agor300g: print FS inputs uninitialized due to hardware limits to stderr
Marek Olšák [Wed, 17 Nov 2010 16:42:34 +0000 (17:42 +0100)]
r300g: print FS inputs uninitialized due to hardware limits to stderr

13 years agor600c/evergreen: texture align is group_bytes just like 6xx/7xx
Alex Deucher [Wed, 17 Nov 2010 16:30:52 +0000 (11:30 -0500)]
r600c/evergreen: texture align is group_bytes just like 6xx/7xx

Default group bytes to 512 on evergreen.  Don't query
tiling config yet for evergreen, the current info returned is not
adequate for evergreen (no way to get bank info).

13 years agomesa: minor clean-ups in context code
Brian Paul [Tue, 16 Nov 2010 22:47:11 +0000 (15:47 -0700)]
mesa: minor clean-ups in context code

13 years agomesa: reorder texture_error_check() params
Brian Paul [Tue, 16 Nov 2010 22:32:52 +0000 (15:32 -0700)]
mesa: reorder texture_error_check() params

To better match other functions.

13 years agomesa: 80-column wrapping
Brian Paul [Tue, 16 Nov 2010 22:30:18 +0000 (15:30 -0700)]
mesa: 80-column wrapping

13 years agomesa: whitespace cleanups
Brian Paul [Tue, 16 Nov 2010 22:23:51 +0000 (15:23 -0700)]
mesa: whitespace cleanups

13 years agomesa: fix error messages and minor reindenting
Brian Paul [Tue, 16 Nov 2010 22:15:58 +0000 (15:15 -0700)]
mesa: fix error messages and minor reindenting

13 years agoRefresh autogenerated glcpp parser.
Kenneth Graunke [Wed, 17 Nov 2010 00:21:54 +0000 (16:21 -0800)]
Refresh autogenerated glcpp parser.

13 years agoglcpp: Define GL_FRAGMENT_PRECISION_HIGH if GLSL version >= 1.30.
Kenneth Graunke [Wed, 17 Nov 2010 00:21:20 +0000 (16:21 -0800)]
glcpp: Define GL_FRAGMENT_PRECISION_HIGH if GLSL version >= 1.30.

Per section 4.5.4 of the GLSL 1.30 specification.

13 years agor600g: Synchronize supported color formats between Evergreen and r600/r700.
Henri Verbeet [Tue, 16 Nov 2010 23:29:03 +0000 (00:29 +0100)]
r600g: Synchronize supported color formats between Evergreen and r600/r700.

13 years agor600g: Swizzle vertex data only once.
Henri Verbeet [Tue, 16 Nov 2010 23:29:02 +0000 (00:29 +0100)]
r600g: Swizzle vertex data only once.

Vertex data swizzles are already done in the vertex shader. Doing them twice
breaks BGRA vertex arrays for example.

13 years agor300g: remove the hack with OPCODE_RET
Marek Olšák [Tue, 16 Nov 2010 21:19:47 +0000 (22:19 +0100)]
r300g: remove the hack with OPCODE_RET

RET was interpreted as END, which was wrong. Instead, if a shader contains RET
in the main function, it will fail to compile with an error message
from now on.

The hack is from early days.

13 years agoglsl: Simplify generation of swizzle for vector constructors
Ian Romanick [Mon, 15 Nov 2010 21:41:06 +0000 (13:41 -0800)]
glsl: Simplify generation of swizzle for vector constructors

13 years agoglsl: Refactor is_vec_{zero,one} to be methods of ir_constant
Ian Romanick [Fri, 12 Nov 2010 18:19:08 +0000 (10:19 -0800)]
glsl: Refactor is_vec_{zero,one} to be methods of ir_constant

These predicates will be used in other places soon.

13 years agolibgl-gdi: Allow to pick softpipe/llvmpipe on runtime.
José Fonseca [Tue, 16 Nov 2010 18:56:39 +0000 (18:56 +0000)]
libgl-gdi: Allow to pick softpipe/llvmpipe on runtime.

13 years agomesa: Add definitions for inverse hyperbolic function on MSVC.
Vinson Lee [Tue, 16 Nov 2010 06:00:32 +0000 (22:00 -0800)]
mesa: Add definitions for inverse hyperbolic function on MSVC.

13 years agoglsl: Add ir_constant_expression.cpp to SConscript.
Vinson Lee [Tue, 16 Nov 2010 04:54:12 +0000 (20:54 -0800)]
glsl: Add ir_constant_expression.cpp to SConscript.

This was accidentally removed in commit 32aaf89823de11e98cb59d5ec78c66cd3e74bcd4.

Fixes SCons builds.

13 years agoglsl: remove opt_constant_expression.cpp from SConscript
Brian Paul [Tue, 16 Nov 2010 01:59:39 +0000 (18:59 -0700)]
glsl: remove opt_constant_expression.cpp from SConscript

And alphabetize the opt_* files.

13 years agomesa: add more work-arounds for acoshf(), asinhf(), atahf()
Brian Paul [Tue, 16 Nov 2010 01:50:58 +0000 (18:50 -0700)]
mesa: add more work-arounds for acoshf(), asinhf(), atahf()

13 years agoglsl: fix assorted MSVC warnings
Brian Paul [Tue, 16 Nov 2010 01:48:43 +0000 (18:48 -0700)]
glsl: fix assorted MSVC warnings

13 years agost/mesa: fix glDrawPixels(depth/stencil) bugs
Brian Paul [Tue, 16 Nov 2010 01:36:50 +0000 (18:36 -0700)]
st/mesa: fix glDrawPixels(depth/stencil) bugs

When drawing GL_DEPTH_COMPONENT the usual fragment pipeline steps apply
so don't override the depth state.

When drawing GL_STENCIL_INDEX (or GL_DEPTH_STENCIL) the fragment pipeline
does not apply (only the stencil and Z writemasks apply) so disable writes
to the color buffers.

Fixes some regressions from commit ef8bb7ada98f1ddc8e2554a7336af5d669cb1290

13 years agoglsl: Rename various ir_* files to lower_* and opt_*.
Kenneth Graunke [Mon, 15 Nov 2010 22:35:46 +0000 (14:35 -0800)]
glsl: Rename various ir_* files to lower_* and opt_*.

This helps distinguish between lowering passes, optimization passes, and
other compiler code.

13 years agoglsl: Remove unused and out of date Makefile.am.
Kenneth Graunke [Mon, 15 Nov 2010 22:45:40 +0000 (14:45 -0800)]
glsl: Remove unused and out of date Makefile.am.

This was from when glsl2 lived in a separate repository and used
automake.

13 years agoglsl: Add constant expression handling for asinh, acosh, and atanh.
Kenneth Graunke [Mon, 15 Nov 2010 22:08:58 +0000 (14:08 -0800)]
glsl: Add constant expression handling for asinh, acosh, and atanh.

13 years agoglsl: Refresh autogenerated file builtin_function.cpp.
Kenneth Graunke [Mon, 15 Nov 2010 22:02:13 +0000 (14:02 -0800)]
glsl: Refresh autogenerated file builtin_function.cpp.

13 years agoglsl: Implement the asinh, acosh, and atanh built-in functions.
Kenneth Graunke [Mon, 15 Nov 2010 21:58:51 +0000 (13:58 -0800)]
glsl: Implement the asinh, acosh, and atanh built-in functions.

13 years agogenerate_builtins.py: Fix inconsistent use of tabs and spaces warning.
Kenneth Graunke [Mon, 15 Nov 2010 22:00:03 +0000 (14:00 -0800)]
generate_builtins.py: Fix inconsistent use of tabs and spaces warning.

13 years agoglsl: Refresh autogenerated lexer and parser files.
Kenneth Graunke [Sun, 14 Nov 2010 06:02:32 +0000 (22:02 -0800)]
glsl: Refresh autogenerated lexer and parser files.

For the last three commits.

13 years agoglsl: Add support for the 'u' and 'U' unsigned integer suffixes.
Kenneth Graunke [Sun, 14 Nov 2010 07:09:43 +0000 (23:09 -0800)]
glsl: Add support for the 'u' and 'U' unsigned integer suffixes.

13 years agoglsl: Add new keywords and reserved words for GLSL 1.30.
Kenneth Graunke [Sun, 14 Nov 2010 06:02:09 +0000 (22:02 -0800)]
glsl: Add new keywords and reserved words for GLSL 1.30.

13 years agoglsl: Rework reserved word/keyword handling in the lexer.
Kenneth Graunke [Sun, 14 Nov 2010 04:32:59 +0000 (20:32 -0800)]
glsl: Rework reserved word/keyword handling in the lexer.

This consolidates the TOKEN_OR_IDENTIFIER and RESERVED_WORD macros into
a single KEYWORD macro.

The old TOKEN_OR_IDENTIFIER macros handled the case of a word going from
an identifier to a keyword; the RESERVED_WORD macro handled a word going
from a reserved word to a language keyword.  However, neither could
properly handle samplerBuffer (for example), which is an identifier in
1.10 and 1.20, a reserved word in 1.30, and a keyword in 1.40 and on.

Furthermore, the existing macros didn't properly handle reserved words
in GLSL ES 1.00.  The best they could do was return a token (rather than
an identifier), resulting in an obtuse parser error, rather than a
user-friendly "you used a reserved word" error message.

13 years agoglsl: Convert glsl_type::base_type from #define'd constants to an enum.
Kenneth Graunke [Thu, 11 Nov 2010 07:20:47 +0000 (23:20 -0800)]
glsl: Convert glsl_type::base_type from #define'd constants to an enum.

This is nice because printing type->base_type in GDB will now give you a
readable name instead of a number.

13 years agoglsl: Remove GLSL_TYPE_FUNCTION define.
Kenneth Graunke [Thu, 11 Nov 2010 07:14:45 +0000 (23:14 -0800)]
glsl: Remove GLSL_TYPE_FUNCTION define.

Functions are not first class objects in GLSL, so there is never a value
of function type.  No code actually used this except for one function
which asserted it shouldn't occur.  One comment mentioned it, but was
incorrect.  So we may as well remove it entirely.

13 years agor600g: Add PIPE_FORMAT_L8A8_UNORM for Evergreen as well.
Henri Verbeet [Mon, 15 Nov 2010 21:18:12 +0000 (22:18 +0100)]
r600g: Add PIPE_FORMAT_L8A8_UNORM for Evergreen as well.

13 years agor600: Evergreen has two extra frac_bits for the sampler LOD state.
Henri Verbeet [Mon, 15 Nov 2010 21:18:12 +0000 (22:18 +0100)]
r600: Evergreen has two extra frac_bits for the sampler LOD state.

Note: this is a candidate for the 7.9 branch.

13 years agor600g: Evergreen has two extra frac_bits for the sampler LOD state.
Henri Verbeet [Mon, 15 Nov 2010 21:18:12 +0000 (22:18 +0100)]
r600g: Evergreen has two extra frac_bits for the sampler LOD state.

The (piglit) mipmap_limits test shows the issue very clearly.

13 years agor600g: Cleanup the fenced_bo list in r600_context_fini().
Henri Verbeet [Mon, 15 Nov 2010 21:18:12 +0000 (22:18 +0100)]
r600g: Cleanup the fenced_bo list in r600_context_fini().

13 years agogallium/noop: no operation gallium driver
Jerome Glisse [Mon, 15 Nov 2010 19:53:21 +0000 (14:53 -0500)]
gallium/noop: no operation gallium driver

This driver is a fake swdri driver that perform no operations
beside allocation gallium structure and buffer for upper layer
usage.

It's purpose is to help profiling core mesa/gallium without
having pipe driver overhead hidding hot spot of core code.

scons file are likely inadequate i am unfamiliar with this
build system.

To use it simply rename is to swrast_dri.so and properly set
LIBGL_DRIVERS_PATH env variable.

Signed-off-by: Jerome Glisse <jglisse@redhat.com>
13 years agodri/nouveau: Kill a bunch of ternary operators.
Francisco Jerez [Mon, 15 Nov 2010 15:48:29 +0000 (16:48 +0100)]
dri/nouveau: Kill a bunch of ternary operators.

13 years agodri/nouveau: Fix typo.
Francisco Jerez [Mon, 15 Nov 2010 15:44:31 +0000 (16:44 +0100)]
dri/nouveau: Fix typo.

13 years agodri/nouveau: Remove nouveau_class.h, finishing switch to rules-ng-ng headers
Viktor Novotný [Mon, 1 Nov 2010 00:30:50 +0000 (01:30 +0100)]
dri/nouveau: Remove nouveau_class.h, finishing switch to rules-ng-ng headers

Signed-off-by: Francisco Jerez <currojerez@riseup.net>
13 years agodri/nouveau nv20: Use rules-ng-ng headers
Viktor Novotný [Mon, 1 Nov 2010 00:22:44 +0000 (01:22 +0100)]
dri/nouveau nv20: Use rules-ng-ng headers

Signed-off-by: Francisco Jerez <currojerez@riseup.net>
13 years agodri/nouveau: nv10: Use rules-ng-ng headers
Viktor Novotný [Mon, 1 Nov 2010 00:26:05 +0000 (01:26 +0100)]
dri/nouveau: nv10: Use rules-ng-ng headers

Signed-off-by: Francisco Jerez <currojerez@riseup.net>
13 years agodri/nouveau: nv04: Use rules-ng-ng headers
Viktor Novotný [Mon, 1 Nov 2010 00:26:04 +0000 (01:26 +0100)]
dri/nouveau: nv04: Use rules-ng-ng headers

Signed-off-by: Francisco Jerez <currojerez@riseup.net>
13 years agodri/nouveau: Import headers from rules-ng-ng
Viktor Novotný [Mon, 1 Nov 2010 00:26:03 +0000 (01:26 +0100)]
dri/nouveau: Import headers from rules-ng-ng

Signed-off-by: Francisco Jerez <currojerez@riseup.net>
13 years agoevergreen: set gl_texture_image::TexFormat field in evergreenSetTexBuffer()
Brian Paul [Mon, 15 Nov 2010 16:25:32 +0000 (09:25 -0700)]
evergreen: set gl_texture_image::TexFormat field in evergreenSetTexBuffer()

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

Note: this is a candidate for the 7.9 branch.

13 years agor300: set gl_texture_image::TexFormat field in r300SetTexBuffer2()
Brian Paul [Mon, 15 Nov 2010 16:24:42 +0000 (09:24 -0700)]
r300: set gl_texture_image::TexFormat field in r300SetTexBuffer2()

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

Note: this is a candidate for the 7.9 branch

13 years agor200: set gl_texture_image::TexFormat field in r200SetTexBuffer2()
Brian Paul [Mon, 15 Nov 2010 16:23:59 +0000 (09:23 -0700)]
r200: set gl_texture_image::TexFormat field in r200SetTexBuffer2()

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

Note: this is a candidate for the 7.9 branch.

13 years agor600: set gl_texture_image::TexFormat field in r600SetTexBuffer2()
Brian Paul [Mon, 15 Nov 2010 16:16:31 +0000 (09:16 -0700)]
r600: set gl_texture_image::TexFormat field in r600SetTexBuffer2()

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

Note: this is a candidate for the 7.9 branch.

13 years agoradeon: set gl_texture_image::TexFormat field in radeonSetTexBuffer2()
Brian Paul [Mon, 15 Nov 2010 16:15:33 +0000 (09:15 -0700)]
radeon: set gl_texture_image::TexFormat field in radeonSetTexBuffer2()

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

Note: this is a candidate for the 7.9 branch

13 years agoMakefile: don't include the same files twice in the tarball
Julien Cristau [Sat, 13 Nov 2010 14:05:45 +0000 (06:05 -0800)]
Makefile: don't include the same files twice in the tarball

src/mesa/drivers/dri/*/*/*.[chS] is a superset of
src/mesa/drivers/dri/*/server/*.[ch] and
src/mesa/drivers/dri/common/xmlpool/*.[ch].
include/GL/internal/glcore.h is already in MAIN_FILES, no need for it in
DRI_FILES too.  src/glx/Makefile was listed twice.

Signed-off-by: Julien Cristau <jcristau@debian.org>
Signed-off-by: Brian Paul <brianp@vmware.com>
13 years agoradeon: fix potential segfault in renderbuffer update
Daniel Lichtenberger [Mon, 15 Nov 2010 06:32:42 +0000 (01:32 -0500)]
radeon: fix potential segfault in renderbuffer update

Fixes:
https://bugs.freedesktop.org/show_bug.cgi?id=31617

Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
13 years agor300g: return shader caps from Draw for SWTCL vertex shaders
Marek Olšák [Sun, 14 Nov 2010 21:32:46 +0000 (22:32 +0100)]
r300g: return shader caps from Draw for SWTCL vertex shaders

13 years agor300g: clean up redundancy in draw functions
Marek Olšák [Sun, 14 Nov 2010 16:34:42 +0000 (17:34 +0100)]
r300g: clean up redundancy in draw functions

14 years agoi965: Fix gl_FragCoord inversion when drawing to an FBO.
Eric Anholt [Sat, 13 Nov 2010 22:00:58 +0000 (14:00 -0800)]
i965: Fix gl_FragCoord inversion when drawing to an FBO.

This showed up as cairo-gl gradients being inverted on everyone but
Intel, where I'd apparently tweaked the transformation to work around
the bug.  Fixes piglit fbo-fragcoord.

14 years agoi965: Silence uninitialized variable warning.
Vinson Lee [Sun, 14 Nov 2010 05:19:59 +0000 (21:19 -0800)]
i965: Silence uninitialized variable warning.

Silences this GCC warning.
brw_fs.cpp: In member function 'void fs_visitor::split_virtual_grfs()':
brw_fs.cpp:2516: warning: unused variable 'reg'

14 years agor300g: fix texture border color for all texture formats
Marek Olšák [Sat, 13 Nov 2010 15:43:20 +0000 (16:43 +0100)]
r300g: fix texture border color for all texture formats

This fixes 8 texwrap format tests.
The code should handle arbitrary formats now and is cleaner.

NOTE: This is a candidate for the 7.9 branch.

14 years agomesa: Clean up header file inclusion in points.h.
Vinson Lee [Sat, 13 Nov 2010 09:16:12 +0000 (01:16 -0800)]
mesa: Clean up header file inclusion in points.h.

14 years agomesa: consolidate assertions in teximage code
Brian Paul [Fri, 12 Nov 2010 01:04:00 +0000 (18:04 -0700)]
mesa: consolidate assertions in teximage code

14 years agosvga: fill out CAPs for indirect addressing
Marek Olšák [Fri, 12 Nov 2010 02:08:47 +0000 (03:08 +0100)]
svga: fill out CAPs for indirect addressing

As per the ps_3_0 and vs_3_0 documentation.
The aL register in D3D9 is quite tricky to use, though.

14 years agor600g: fill out CAPs for indirect addressing
Marek Olšák [Fri, 12 Nov 2010 02:07:05 +0000 (03:07 +0100)]
r600g: fill out CAPs for indirect addressing

14 years agor300g: fill out CAPs for indirect addressing
Marek Olšák [Fri, 12 Nov 2010 02:05:37 +0000 (03:05 +0100)]
r300g: fill out CAPs for indirect addressing

To match shader model 2.0 (it's impossible to fully implement ARL
with shader model 3.0 relative addressing).

14 years agonvfx: fill out CAPs for indirect addressing
Marek Olšák [Fri, 12 Nov 2010 02:04:48 +0000 (03:04 +0100)]
nvfx: fill out CAPs for indirect addressing

To match shader model 2.0.

14 years agonv50: fill out CAPs for indirect addressing
Marek Olšák [Fri, 12 Nov 2010 02:04:29 +0000 (03:04 +0100)]
nv50: fill out CAPs for indirect addressing

14 years agoi965g: fill out CAPs for indirect addressing
Marek Olšák [Fri, 12 Nov 2010 02:03:59 +0000 (03:03 +0100)]
i965g: fill out CAPs for indirect addressing

14 years agoi915g: fill out CAPs for indirect addressing
Marek Olšák [Fri, 12 Nov 2010 02:03:43 +0000 (03:03 +0100)]
i915g: fill out CAPs for indirect addressing

14 years agotgsi: fill out CAPs for indirect addressing
Marek Olšák [Fri, 12 Nov 2010 02:03:04 +0000 (03:03 +0100)]
tgsi: fill out CAPs for indirect addressing

14 years agogallium: add CAPs for indirect addressing and lower it in st/mesa when needed
Marek Olšák [Wed, 10 Nov 2010 19:41:55 +0000 (20:41 +0100)]
gallium: add CAPs for indirect addressing and lower it in st/mesa when needed

Required because ATI and NVIDIA DX9 GPUs do not support indirect addressing
of temps, inputs, outputs, and consts (FS-only) or the hw support is so
limited that we cannot use it.

This should make r300g and possibly nvfx more feature complete.

Signed-off-by: Marek Olšák <maraeo@gmail.com>
14 years agotdfx: s/Format/_BaseFormat/
Brian Paul [Thu, 11 Nov 2010 23:56:16 +0000 (16:56 -0700)]
tdfx: s/Format/_BaseFormat/

Fixes http://bugs.freedesktop.org/show_bug.cgi?id=31560

14 years agoglsl: Free the loop state context when we free the loop state.
Eric Anholt [Mon, 8 Nov 2010 22:38:18 +0000 (14:38 -0800)]
glsl: Free the loop state context when we free the loop state.

Since this was talloced off of NULL instead of the compile state, it
was a real leak over the course of the program.  Noticed with
valgrind --leak-check=full --show-reachable=yes.  We should really
change these passes to generally get the compile context as an argument
so simple mistakes like this stop mattering.

14 years agomesa: fix glDeleteBuffers() regression
Brian Paul [Thu, 11 Nov 2010 22:31:28 +0000 (15:31 -0700)]
mesa: fix glDeleteBuffers() regression

This fixes a regression (failed assertion) from commit
c552f273f559968dfd770367e25329baccbcd0c4 which was hit if glDeleteBuffers()
was called on a buffer that was never bound.

NOTE: this is a candidate for the 7.9 branch.

14 years agomesa: make glIsBuffer() return false for never bound buffers
Brian Paul [Thu, 11 Nov 2010 21:47:30 +0000 (14:47 -0700)]
mesa: make glIsBuffer() return false for never bound buffers

Use a dummy buffer object as we do for frame/renderbuffer objects.
Fixes http://bugs.freedesktop.org/show_bug.cgi?id=31514

Note: this is a candidate for the 7.9 branch.

14 years agoglsl: fix crash in loop analysis when some controls can't be determined
Aras Pranckevicius [Thu, 30 Sep 2010 09:47:31 +0000 (12:47 +0300)]
glsl: fix crash in loop analysis when some controls can't be determined

Fixes loop-07.frag.

14 years agor600g: enforce minimum stride on render target texture images
Keith Whitwell [Thu, 11 Nov 2010 16:20:24 +0000 (16:20 +0000)]
r600g: enforce minimum stride on render target texture images

Fixes piglit/fbo_readpixels since staging upload changes.

14 years agor600g: do not try to use staging resource for depth textures
Keith Whitwell [Thu, 11 Nov 2010 15:41:49 +0000 (15:41 +0000)]
r600g: do not try to use staging resource for depth textures

Currently r600_resource_copy_region() will turn these copies into
transfers + memcpys, so to avoid recursion we must not turn those
transfers back into blits.

14 years agomesa: handle more pixel types in mipmap generation code
Brian Paul [Thu, 11 Nov 2010 15:33:40 +0000 (08:33 -0700)]
mesa: handle more pixel types in mipmap generation code

NOTE: This is a candidate for the 7.9 branch.

14 years agomesa: add missing formats in _mesa_format_to_type_and_comps()
Brian Paul [Thu, 11 Nov 2010 15:31:20 +0000 (08:31 -0700)]
mesa: add missing formats in _mesa_format_to_type_and_comps()

NOTE: this is a candidate for the 7.9 branch

14 years agomesa: improve error message
Brian Paul [Thu, 11 Nov 2010 14:43:30 +0000 (07:43 -0700)]
mesa: improve error message

14 years agomesa: #include mfeatures.h in enums.h
Brian Paul [Thu, 11 Nov 2010 01:51:05 +0000 (18:51 -0700)]
mesa: #include mfeatures.h in enums.h

14 years agor600g: guard experimental s3tc code with R600_ENABLE_S3TC
Keith Whitwell [Thu, 11 Nov 2010 14:26:52 +0000 (14:26 +0000)]
r600g: guard experimental s3tc code with R600_ENABLE_S3TC

14 years agonvfx: fill PIPE_CAP_PRIMITIVE_RESTART and PIPE_CAP_SHADER_STENCIL_EXPORT
Lucas Stach [Wed, 10 Nov 2010 22:10:25 +0000 (23:10 +0100)]
nvfx: fill PIPE_CAP_PRIMITIVE_RESTART and PIPE_CAP_SHADER_STENCIL_EXPORT

Signed-off-by: Lucas Stach <dev@lynxeye.de>
Signed-off-by: Francisco Jerez <currojerez@riseup.net>
14 years agodri/nouveau: Split hardware/software TNL instantiation more cleanly.
Francisco Jerez [Wed, 10 Nov 2010 19:18:33 +0000 (20:18 +0100)]
dri/nouveau: Split hardware/software TNL instantiation more cleanly.

14 years agomesa: Fix printf format warnings.
Vinson Lee [Thu, 11 Nov 2010 01:30:59 +0000 (17:30 -0800)]
mesa: Fix printf format warnings.

14 years agomesa: Allow query of MAX_SAMPLES with EXT_framebuffer_multisample
Ian Romanick [Wed, 10 Nov 2010 00:35:54 +0000 (16:35 -0800)]
mesa: Allow query of MAX_SAMPLES with EXT_framebuffer_multisample

Previously queries of MAX_SAMPLES were only allowed with
ARB_framebuffer_object, but EXT_framebuffer_multisample also enables
this query.  This seems to only effect the i915.  All other drivers
support both extensions or neither extension.

This patch is based on a patch that Kenneth sent along with the report.

NOTE: this is a candidate for the 7.9 branch.

Reported-by: Kenneth Waters <kwaters@chromium.org>
14 years agolibgl-xlib: Use sw helper instead of roll your own
Jakob Bornecrantz [Wed, 10 Nov 2010 23:40:18 +0000 (23:40 +0000)]
libgl-xlib: Use sw helper instead of roll your own

14 years agograw: Use inline sw helper instead of roll your own loader
Jakob Bornecrantz [Wed, 10 Nov 2010 20:29:57 +0000 (20:29 +0000)]
graw: Use inline sw helper instead of roll your own loader

14 years agogalahad: Correct the name of the scons library
Jakob Bornecrantz [Wed, 10 Nov 2010 22:36:33 +0000 (22:36 +0000)]
galahad: Correct the name of the scons library

14 years agor600g: allow driver to work without submitting cmd to GPU
Jerome Glisse [Wed, 10 Nov 2010 21:46:44 +0000 (16:46 -0500)]
r600g: allow driver to work without submitting cmd to GPU

For driver performance analysis it usefull to be able to
disable as much as possible the GPU interaction so that
one can profile the userspace only.

Signed-off-by: Jerome Glisse <jglisse@redhat.com>
14 years agointel: Add a new B43 pci id.
Robert Hooker [Wed, 20 Oct 2010 22:01:10 +0000 (18:01 -0400)]
intel: Add a new B43 pci id.

Signed-off-by: Robert Hooker <robert.hooker@canonical.com>
14 years agoi965: re-enable gen6 IF statements in the fragment shader.
Eric Anholt [Mon, 11 Oct 2010 23:02:08 +0000 (16:02 -0700)]
i965: re-enable gen6 IF statements in the fragment shader.

IF statements were getting flattened while they were broken.  With
Zhenyu's last fix for ENDIF's type, everything appears to have lined
up to actually work.

This regresses two tests:
glsl1-! (not) operator (1, fail)
glsl1-! (not) operator (1, pass)

but fixes tests that couldn't work before because the IFs couldn't be
flattened:
glsl-fs-discard-01
occlusion-query-discard

(and, naturally, this should be a performance improvement for apps
that actually use IF statements to avoid executing a bunch of code).

14 years agoi965: Work around strangeness in swizzling/masking of gen6 math.
Eric Anholt [Wed, 10 Nov 2010 20:30:09 +0000 (12:30 -0800)]
i965: Work around strangeness in swizzling/masking of gen6 math.

Sometimes we swizzled in a different channel it looked like, and
sometimes we swizzled in zero.  Or something.

Having looked at the output of another code generator for this chip,
this is approximately what they do, too: use align1 math on
temporaries, and then move the results into place.

Fixes:
glean/vp1-EX2 test
glean/vp1-EXP test
glean/vp1-LG2 test
glean/vp1-RCP test (reciprocal)
glean/vp1-RSQ test 1 (reciprocal square root)
shaders/glsl-cos
shaders/glsl-sin
shaders/glsl-vs-masked-cos
shaders/vpfp-generic/vp-exp-alias