Commit graph

40684 commits

Author SHA1 Message Date
Chad Versace
b4cdba687c 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.
2010-11-17 11:59:32 -08:00
Kenneth Graunke
e16c9d5d03 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.
2010-11-17 11:58:56 -08:00
Marek Olšák
fb7ae06f59 r300g: print FS inputs uninitialized due to hardware limits to stderr 2010-11-17 19:01:12 +01:00
Alex Deucher
75e52556a8 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).
2010-11-17 11:30:52 -05:00
Brian Paul
1d39df42c4 mesa: minor clean-ups in context code 2010-11-16 20:12:34 -07:00
Brian Paul
85288ad722 mesa: reorder texture_error_check() params
To better match other functions.
2010-11-16 20:12:34 -07:00
Brian Paul
3c59febf05 mesa: 80-column wrapping 2010-11-16 20:12:34 -07:00
Brian Paul
76114d23d1 mesa: whitespace cleanups 2010-11-16 20:12:34 -07:00
Brian Paul
78527154bd mesa: fix error messages and minor reindenting 2010-11-16 20:12:34 -07:00
Kenneth Graunke
bee901a1cf Refresh autogenerated glcpp parser. 2010-11-16 16:22:13 -08:00
Kenneth Graunke
3fb83038a0 glcpp: Define GL_FRAGMENT_PRECISION_HIGH if GLSL version >= 1.30.
Per section 4.5.4 of the GLSL 1.30 specification.
2010-11-16 16:22:12 -08:00
Henri Verbeet
6bbe637c13 r600g: Synchronize supported color formats between Evergreen and r600/r700. 2010-11-17 00:41:42 +01:00
Henri Verbeet
7d0f45563d 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.
2010-11-17 00:41:42 +01:00
Marek Olšák
b6e2c32626 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.
2010-11-16 22:39:27 +01:00
Ian Romanick
2d2d6a80c1 glsl: Simplify generation of swizzle for vector constructors 2010-11-16 12:11:02 -08:00
Ian Romanick
38e55153af glsl: Refactor is_vec_{zero,one} to be methods of ir_constant
These predicates will be used in other places soon.
2010-11-16 12:11:02 -08:00
José Fonseca
4f84a3aa32 libgl-gdi: Allow to pick softpipe/llvmpipe on runtime. 2010-11-16 18:56:39 +00:00
Vinson Lee
063c6b8f74 mesa: Add definitions for inverse hyperbolic function on MSVC. 2010-11-15 22:00:32 -08:00
Vinson Lee
1935bdca44 glsl: Add ir_constant_expression.cpp to SConscript.
This was accidentally removed in commit 32aaf89823.

Fixes SCons builds.
2010-11-15 20:56:11 -08:00
Brian Paul
9b4b70e7e2 glsl: remove opt_constant_expression.cpp from SConscript
And alphabetize the opt_* files.
2010-11-15 18:59:45 -07:00
Brian Paul
c1928c7f10 mesa: add more work-arounds for acoshf(), asinhf(), atahf() 2010-11-15 18:50:58 -07:00
Brian Paul
88f482a839 glsl: fix assorted MSVC warnings 2010-11-15 18:48:43 -07:00
Brian Paul
20c2debce8 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 ef8bb7ada9
2010-11-15 18:40:32 -07:00
Kenneth Graunke
32aaf89823 glsl: Rename various ir_* files to lower_* and opt_*.
This helps distinguish between lowering passes, optimization passes, and
other compiler code.
2010-11-15 16:34:20 -08:00
Kenneth Graunke
46b80d6469 glsl: Remove unused and out of date Makefile.am.
This was from when glsl2 lived in a separate repository and used
automake.
2010-11-15 14:47:15 -08:00
Kenneth Graunke
3108095198 glsl: Add constant expression handling for asinh, acosh, and atanh. 2010-11-15 14:08:58 -08:00
Kenneth Graunke
91181c7dd4 glsl: Refresh autogenerated file builtin_function.cpp. 2010-11-15 14:02:52 -08:00
Kenneth Graunke
db9b8c062f glsl: Implement the asinh, acosh, and atanh built-in functions. 2010-11-15 14:02:52 -08:00
Kenneth Graunke
096d36872f generate_builtins.py: Fix inconsistent use of tabs and spaces warning. 2010-11-15 14:02:52 -08:00
Kenneth Graunke
0d082c0e06 glsl: Refresh autogenerated lexer and parser files.
For the last three commits.
2010-11-15 13:33:58 -08:00
Kenneth Graunke
7279feeb19 glsl: Add support for the 'u' and 'U' unsigned integer suffixes. 2010-11-15 13:33:58 -08:00
Kenneth Graunke
2b6c1a0b7c glsl: Add new keywords and reserved words for GLSL 1.30. 2010-11-15 13:33:58 -08:00
Kenneth Graunke
285036fbb0 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.
2010-11-15 13:33:57 -08:00
Kenneth Graunke
5dc74e9c77 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.
2010-11-15 13:33:57 -08:00
Kenneth Graunke
ee36f14fa5 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.
2010-11-15 13:33:57 -08:00
Henri Verbeet
62fe9c4efc r600g: Add PIPE_FORMAT_L8A8_UNORM for Evergreen as well. 2010-11-15 22:20:12 +01:00
Henri Verbeet
228d0d1153 r600: Evergreen has two extra frac_bits for the sampler LOD state.
Note: this is a candidate for the 7.9 branch.
2010-11-15 22:20:12 +01:00
Henri Verbeet
aa3113ae20 r600g: Evergreen has two extra frac_bits for the sampler LOD state.
The (piglit) mipmap_limits test shows the issue very clearly.
2010-11-15 22:20:12 +01:00
Henri Verbeet
da8c877733 r600g: Cleanup the fenced_bo list in r600_context_fini(). 2010-11-15 22:20:12 +01:00
Jerome Glisse
5da246944a 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>
2010-11-15 14:56:40 -05:00
Francisco Jerez
88850b3e4f dri/nouveau: Kill a bunch of ternary operators. 2010-11-15 17:42:08 +01:00
Francisco Jerez
aceb5b3277 dri/nouveau: Fix typo. 2010-11-15 17:42:08 +01:00
Viktor Novotný
8c94c7138e dri/nouveau: Remove nouveau_class.h, finishing switch to rules-ng-ng headers
Signed-off-by: Francisco Jerez <currojerez@riseup.net>
2010-11-15 17:42:07 +01:00
Viktor Novotný
69f54d2a7e dri/nouveau nv20: Use rules-ng-ng headers
Signed-off-by: Francisco Jerez <currojerez@riseup.net>
2010-11-15 17:42:07 +01:00
Viktor Novotný
f4efc256fd dri/nouveau: nv10: Use rules-ng-ng headers
Signed-off-by: Francisco Jerez <currojerez@riseup.net>
2010-11-15 17:42:07 +01:00
Viktor Novotný
8983855012 dri/nouveau: nv04: Use rules-ng-ng headers
Signed-off-by: Francisco Jerez <currojerez@riseup.net>
2010-11-15 17:42:06 +01:00
Viktor Novotný
dfc2bf818b dri/nouveau: Import headers from rules-ng-ng
Signed-off-by: Francisco Jerez <currojerez@riseup.net>
2010-11-15 17:42:06 +01:00
Brian Paul
3e910faed5 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.
2010-11-15 09:31:33 -07:00
Brian Paul
f2f1c61950 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
2010-11-15 09:31:27 -07:00
Brian Paul
401f1efd3a 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.
2010-11-15 09:31:21 -07:00